運用 UIBezierPath 繪製可愛圖案-魯夫海賊旗

J K
海大 SwiftUI iOS / Flutter App 程式設計
3 min readApr 26, 2019

目的: 開發 iOS App 時,我們可以利用 UIBezierPath 繪製路徑,然後搭配 CAShapeLayer 做出任意形狀的 view。運用 UIBezierPath繪製出自己喜歡的圖案,且運用座標得網頁幫忙。

  1. 原始圖片

2. 製作出來的圖片

3. Xcode操作介面

4. GitHub連結

5.上傳Git的準備

跟一般xcode上傳不一樣,需要有一些事前準備

6.程式碼

先做背景(最後面旗子的黑色、臉及下巴的白色、大範圍的眼睛鼻子)
牙齒的線條
帽子(用兩個半圓做上半部分,橢圓做下半部分)
左上手
左下手
右上手
右下手
輸出顯示

5. 心得即遇到問題

我覺得整個作業裡面最困難的部分就是座標的部分,而且這張圖並不是用直線所拼湊而成的,大部分都是由斜線組合而成的。

牙齒的部分一開始本來想用path後用mask可是直線一直出不來,後來用內建的畫長方形然後把寬度設為很小形成線條。

手的部分,本來骨頭的頭想用control point來控制它的弧度然後用path addline來組合,但後來發現control point一直找不到他得點所以放棄了。最後用畫圓控制它的角度來完成,組合的時候一開始本來要用append但是只要位置一不對疊再一起就會把前面的path給吃掉,所以最後還是自己形成一個layer在輸出。

--

--