Quartz-2D

时间:2021-01-12 21:10:39

Quartz 2D是一个二维图形绘制引擎,支持iOS环境和Mac OS X环境。我们可以使用Quartz 2D API来实现许多功能,如基本路径的绘制、透明度、描影、绘制阴影、透明层、颜色管理、反锯齿、PDF文档生成和PDF元数据访问。在需要的时候,Quartz 2D还可以借助图形硬件的功能。

使用Quartz-2D画图可以分为三个步骤

1.获取图形上下文

2.画线

3.绘制图形

- (void)drawRect:(CGRect)rect 此方法是UIView的绘制方法,上述三个步骤皆需要在此方法内完成

下列是以画线段为例的代码

    //1获取图形上下文
CGContextRef ctf = UIGraphicsGetCurrentContext();
//设置线段宽度
CGContextSetLineWidth(ctf, );
//设置线段头尾部样式
// CGContextSetLineCap(ctf, kCGLineCapSquare);
// CGContextSetLineCap(ctf, kCGLineCapButt);
CGContextSetLineCap(ctf, kCGLineCapRound);
//设置转折点样式
CGContextSetLineJoin(ctf, kCGLineJoinRound);
// CGContextSetLineJoin(ctf, kCGLineJoinBevel);
// CGContextSetLineJoin(ctf, kCGLineJoinMiter); //2画线
CGContextMoveToPoint(ctf, , );
CGContextAddLineToPoint(ctf, , );
CGContextAddLineToPoint(ctf, , );
//设置颜色
[[UIColor whiteColor] set]; //3绘制图形
CGContextStrokePath(ctf);

下图为效果

Quartz-2D

使用Quartz2D还可以画三角形,矩形,圆形,画圆弧,画文字,画图片,结合触摸的三个方法还可以实现涂鸦板的功能