转载自:http://www.cnblogs.com/monicaios/p/3516745.html
一、使用 Quartz 2D 绘图的基本步骤
1 ) 获取上下文 context( 绘制图形的地方 )
2 ) 设置路径(路径是用来描述形状的)
3) 将路径添加到上下文
4) 设置上下文属性(设置颜色,线宽,线性等)
5) 绘制路径
6) 释放路径(在 Quartz2D 中,因为是 C 语言的框架,所有用 Create , Copy 字样方法实例化的对象,都需要自行释放)
二、Quartz2D 是一套 C 语言的框架, C 语言中使用方法
1> 在 C 语言中,所有的对象,都是通过对象的引用地址来使用的,因此不需要使用 *
2> C 语言不是面向对象的语言,它是面向过程的语言,因此,在 C 语言中,如果要操作某一个对象,都是通过函数来实现
3> ARC 是 OC 的自动引用计数,如果在 C 语言中,为对象分配( Create , Copy )了内容,我们需要自己释放 (Release)
三、设置 RGB 颜色的介绍
Red 红( 0~255 )程序员( 0~FF ) => r / 255.0 0~1.0
Green 绿( 0~255 )程序员( 0~FF ) => g / 255.0 0~1.0
Blue 蓝( 0~255 )程序员( 0~FF ) => b / 255.0 0~1.0
Alpha 透明度 0~1.0
0 表示完全透明
1 表示完全不透明
2^8 * 2^8 * 2^8 = 2^24 = 2^4 * 2^10 * 2^10 = 16 * 1K * 1K 16 位真彩色
提示:仅在使用 Quartz2D 绘图时,尽量不要改变 Alpha 值,如果改变透明度,会严重影响性能
如果不指定颜色,默认使用黑色
四、填充模式
kCGPathFill 填充绘制,针对关闭的路径使用
kCGPathStroke 绘制线条,无所谓路径是否关闭
kCGPathFillStroke 填充并绘制线条
kCGPathEOFill 异或填充,针对关闭路径使用
kCGPathEOFillStroke 异或填充并画线
五、弧线参数
1 )上下文
2) x, y 弧线所在圆上的圆心
3 )半径
4) 开始角度、结束角度, 0 度是圆形最右侧的点
5) 顺时针: 0 逆时针: 1
六、利用上下文直接绘图,比使用路径要简单
1> 使用上下文直接绘图,意味着每次都要指定其中的路径才能够绘制
2> 使用路径绘图,意味着可以预定义一组路径,在需要时直接绘制,灵活度高
3> 除了绘制图形之外,路径还可以用在核心动画中,指定视图运动的轨迹
关于路径,无论是使用绘图,还是核心动画,都必须要掌握
七、因为核心图形使用非常频繁,因此 UIKit 对于常用的绘图做了一定的封装
设置边线颜色
[[UIColor redColor] setStroke];
// 设置填充颜色
[[UIColor blueColor] setFill];
// 同时设置边线和填充颜色
[[UIColor greenColor] set];