Quartz2D繪圖主要步驟:1.獲取【圖形上下文】對象 ——(拿到草稿紙)2.向【圖形上下文】對象中添加【路徑】2.1 拼接路徑(畫內容)2.2 添加路徑到上下文(把內容放在草稿紙上)3.渲染 ——(把【圖形上下文】中的圖形繪製到對應的設備上)(根據草稿紙上的內容顯示出來東西)關鍵方法: 1 //...
Quartz2D 繪圖主要步驟:
1. 獲取【圖形上下文】對象 —— (拿到草稿紙) |
2. 向【圖形上下文】對象中添加【路徑】 2.1 拼接路徑(畫內容) 2.2 添加路徑到上下文(把內容放在草稿紙上) |
3. 渲染 ——(把【圖形上下文】中的圖形繪製到對應的設備上)(根據草稿紙上的內容顯示出來東西) |
1 // 獲取上下文 2 CGContextRef ctx = UIGraphicsGetCurrentContext(); 3 4 // 創建可變路徑(c) 5 CGMutablePathRef path = CGPathCreateMutable(); 6 7 // 把路徑放在上下文當中 8 CGContextAddPath(ctx, path); 9 10 // 創建路徑對象(oc) 11 UIBezierPath* path = [UIBezierPath bezierPath]; 12 13 // 渲染 14 CGContextStrokePath(ctx);
Quartz2D 繪圖方式:
方式一:直接調用 Quartz2D 的 API 進行繪圖
|
方式二:調用 UIKit 框架封裝好的 API 進行繪圖(通過創建路徑對象的方式來繪圖)
|
方法1:
1 #import “TDView.h" 2 3 @implementation TDView 4 - (void)drawRect:(CGRect)rect { 5 6 // 1.獲取,當前的layer類型的,圖形上下文 7 CGContextRef ctx = UIGraphicsGetCurrentContext(); 8 9 // 2.拼接路徑,同時,把路徑添加到上下文當中(下麵代碼是搞一條線段) 10 CGContextMoveToPoint(ctx, 50, 50); 11 CGContextAddLineToPoint(ctx, 100, 100); 12 13 // 3.渲染(繪製路徑)<把 上下文中的 路徑 移動到 UIView 上> 14 CGContextStrokePath(ctx); // StrokeXxxx 表示畫線(邊線)(空心圖形) 15 CGContextFillPath(ctx); // FillXxx 表示畫填充的圖形(實心圖形) 16 } 17 @end
方法2:
1 - (void)test2 2 { 3 // 1.獲取圖形上下文(layer) 4 CGContextRef ctx = UIGraphicsGetCurrentContext(); 5 6 // 2.拼接路徑 7 CGMutablePathRef path = CGPathCreateMutable(); 8 CGPathMoveToPoint(path, NULL, 50, 50); 9 CGPathAddLineToPoint(path, NULL, 100, 100); 10 11 // 3.把路徑添加到上下文當中 12 CGContextAddPath(ctx, path); 13 14 // 4.渲染 15 CGContextStrokePath(ctx); 16 }
如有疑問,請發送郵件至 [email protected] 聯繫我。 By:藍田(Loto)