建立和使用path物件步驟:
1、 重寫view的drawrect
方法
2、 建立uibezierpath
的物件
3、 使用方法movetopoint:
設定初始點
4、 根據具體要求使用uibezierpath
類方法繪圖(比如要畫線、矩形、圓、弧?等)
5、 設定uibezierpath
物件相關屬性 (比如linewidth
、linejoinstyle
、apath.linecapstyle
、color
)
6、 使用stroke 或者 fill方法結束繪圖
- (void)drawrect:(cgrect)rect
cashapelayer
屬於quartzcore框架,繼承自calayer。cashapelayer
是在座標系內繪製貝塞爾曲線的,通過繪製貝塞爾曲線,設定shape(形狀)的path(路徑),從而繪製各種各樣的圖形以及不規則圖形。因此,使用cashapelayer
需要與uibezierpath
一起使用。
uibezierpath
類允許你在自定義的 view 中繪製和渲染由直線和曲線組成的路徑。你可以在初始化的時候直接為你的uibezierpath
指定乙個幾何圖形。
通俗點就是uibezierpath
用來指定繪製圖形路徑,而cashapelayer
就是根據路徑來繪圖的。
//建立出cashapelayer
self.shapelayer = [cashapelayer layer];
self.shapelayer.frame = cgrectmake(0, 0, 200, 200);//設定shapelayer的尺寸和位置
self.shapelayer.position = self.view.center;
self.shapelayer.fillcolor = [uicolor clearcolor].cgcolor;//填充顏色為clearcolor
//設定線條的寬度和顏色
self.shapelayer.linewidth = 1.0f;
self.shapelayer.strokecolor = [uicolor redcolor].cgcolor;
//建立出圓形貝塞爾曲線
uibezierpath *circlepath = [uibezierpath bezierpathwithovalinrect:cgrectmake(0, 0, 200, 200)];
//讓貝塞爾曲線與cashapelayer產生聯絡
self.shapelayer.path = circlepath.cgpath;
//新增並顯示
[self.view.layer addsublayer:self.shapelayer];
貝塞爾曲線使用
貝塞爾曲線數學公式 1。兩個控制點 線性公式 x 1 t x0 t x1 0 t 1 y 1 t y0 t y1 0 t 1 2.三個控制點 二次公式 x 1 t 1 t x0 2 t 1 t x1 t t x2 0 t 1 y 1 t 1 t y0 2 t 1 t y1 t t y2 0 t 1 ...
貝塞爾曲線動畫簡單使用
不廢話直接上 public class bezierevaluator implements typeevaluator 呼叫上面的class例如在mainactivity中,可以用下面的方法 private void curve final framelayout layout,int timer...
貝塞爾曲線
1.概述 貝塞爾曲線 b zier curve 又稱 貝茲曲線或貝濟埃曲線,是應用於二維圖形應用程式的數學曲線。一般的向量圖形 軟體通過它來精確畫出曲線,貝茲曲線由 線段與節點組成,節點是可拖動的支點,線段像可伸縮的皮筋,我們在繪圖工具上看到的鋼筆工具就是來做這種向量曲線的。貝塞爾曲線是計算機圖形學...