IOS繪圖的核心步驟

在view上繪製一個圖形的方式有不少種,表現形式可能不同,但其實質步驟都是同樣的:動畫

1)獲取上下文spa

2)繪製路徑code

3)添加路徑到上下文ci

4)修改圖形狀態參數it

5)渲染上下文table

下面咱們以畫一個圓形來演示其實現步驟:class

1)使用CGContextRef建立路徑渲染

1
2
3
4
5
6
7
8
9
  //獲取上下文
  CGContextRef ctx = UIGraphicsGetCurrentContext();
  //繪製路徑: 圓形(中心座標200、200、半徑100、起點弧度0、終點弧度2PI、畫的方向0逆1正)
  CGContextAddArc(ctx, 200, 200, 100, 0, M_PI * 2, 0);
  //修改圖形狀態參數
  CGContextSetRGBStrokeColor(ctx, 0.5, 0.5, 0.9, 1.0); //筆顏色
  CGContextSetLineWidth(ctx, 10); //線條寬度
  //渲染上下文
  CGContextStrokePath(ctx);

2)使用CGPathRef建立路徑tab

1
2
3
4
5
6
7
8
9
10
11
12
13
  //獲取上下文
  CGContextRef ctx = UIGraphicsGetCurrentContext();
  //建立可變路徑
  CGMutablePathRef path = CGPathCreateMutable();
  //添加圓形到路徑中(所在路徑、不進行變換操做、中心座標200、200、起點弧度0、終點弧度2PI、畫的方向0逆1正)
  CGPathAddArc(path, NULL, 200, 200, 100, 0, M_PI * 2, 1);
  //將路徑添加到上下文
  CGContextAddPath(ctx, path);
  //修改圖形狀態參數
  CGContextSetRGBStrokeColor(ctx, 0.5, 0.5, 0.9, 1.0); //筆顏色
  CGContextSetLineWidth(ctx, 10); //線條寬度
  //渲染上下文
  CGContextStrokePath(ctx);

3)使用UIBezierPath建立路徑di

1
2
3
4
5
6
7
  //建立路徑
  UIBezierPath * path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(100, 100, 200, 200)];
  //修改圖形狀態參數
  [[UIColor colorWithRed:0.5 green:0.5 blue:0.9 alpha:1.0] setStroke]; //筆顏色
  [path setLineWidth:10]; //線條寬度
  //渲染
  [path stroke];

以上三種方式均可以實現繪製,經過比較咱們能夠發現使用UIBezierPath建立路徑的形式是最簡潔且最直觀的,推薦使用UIBezierPath,在之後的動畫中咱們也將更多地應用UIBezierPath到動畫的實現中。

相關文章
相關標籤/搜索