这个讲的好,清晰明确:http://www.cocoachina.com/bbs/read.php?tid=77731&page=1
如果直接在图像或者PDF上绘图,需要调用CGBitmapContextCreate或者CGPDFContextCreate函数来创建图形环境。
Quartz2D绘图的基础元素是路径。路径可以是一些基础几何形状,也可以是这些几何形状的组合。
当需要创建一条路径时,应当调用CGContextBeginPath函数;
当需要将路径绘制的起点移动到一个位置时,应当调用CGContextMoveToPoint函数;
当想绘制一条线段时,应当调用CGContextAddLineToPoint。 CTM(当前变换矩阵)将绘图从用户空间映射到设备控件。
当图形环境刚刚创建时,CTM初始化为一个单位矩阵。
-采用系统坐标系
-在Core Graphics的基础上封装,具有Core Graphics的主要功能,无需考虑图形环境。
UIBezierPath* pathLines = [UIBezierPath bezierPath];
[pathLines moveToPoint:point1]; // 移动到point1位置
[pathLines addLineToPoint:point2]; // 画一条从point1到point2的线
pathLines.lineWidth = 5.0; // 线宽
[UIColor redColor] set]; // 颜色设置
[pathLines stroke]; // 开始描绘
在同一UIBazierPath中,只能采用相同的颜色和线宽。
可以调用closePath,从当前点画一条直线到当前子路径的初始点。如果要填充路径,应当使用fill方法,此方法会填充路径中得所有封闭子路径。
1-Quartz2D,的绘图总是发生在图形环境(Graphics Context)中。视图会在调用drawRect:方法进行绘图之前,创建好图形环境,
如果直接在图像或者PDF上绘图,需要调用CGBitmapContextCreate或者CGPDFContextCreate函数来创建图形环境。
Quartz2D绘图的基础元素是路径。路径可以是一些基础几何形状,也可以是这些几何形状的组合。
当需要创建一条路径时,应当调用CGContextBeginPath函数;
当需要将路径绘制的起点移动到一个位置时,应当调用CGContextMoveToPoint函数;
当想绘制一条线段时,应当调用CGContextAddLineToPoint。 CTM(当前变换矩阵)将绘图从用户空间映射到设备控件。
当图形环境刚刚创建时,CTM初始化为一个单位矩阵。
对CTM进行平移变换应当调用CGContextTranslateCTM函数,进行旋转变换应当调用CGContextRotateCTM函数,进行缩放变换应当调用CGContextScaleCTM函数。
2-UIBezierPath
-采用系统坐标系
-在Core Graphics的基础上封装,具有Core Graphics的主要功能,无需考虑图形环境。
UIBezierPath* pathLines = [UIBezierPath bezierPath];
[pathLines moveToPoint:point1]; // 移动到point1位置
[pathLines addLineToPoint:point2]; // 画一条从point1到point2的线
pathLines.lineWidth = 5.0; // 线宽
[UIColor redColor] set]; // 颜色设置
[pathLines stroke]; // 开始描绘
在同一UIBazierPath中,只能采用相同的颜色和线宽。
可以调用closePath,从当前点画一条直线到当前子路径的初始点。如果要填充路径,应当使用fill方法,此方法会填充路径中得所有封闭子路径。