Quartz-2D
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Quartz-2D相关的知识,希望对你有一定的参考价值。
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, 20); //设置线段头尾部样式 // CGContextSetLineCap(ctf, kCGLineCapSquare); // CGContextSetLineCap(ctf, kCGLineCapButt); CGContextSetLineCap(ctf, kCGLineCapRound); //设置转折点样式 CGContextSetLineJoin(ctf, kCGLineJoinRound); // CGContextSetLineJoin(ctf, kCGLineJoinBevel); // CGContextSetLineJoin(ctf, kCGLineJoinMiter); //2画线 CGContextMoveToPoint(ctf, 100, 100); CGContextAddLineToPoint(ctf, 200, 300); CGContextAddLineToPoint(ctf, 200, 150); //设置颜色 [[UIColor whiteColor] set]; //3绘制图形 CGContextStrokePath(ctf);
下图为效果
使用Quartz2D还可以画三角形,矩形,圆形,画圆弧,画文字,画图片,结合触摸的三个方法还可以实现涂鸦板的功能
以上是关于Quartz-2D的主要内容,如果未能解决你的问题,请参考以下文章
Quartz Core、Core Graphics 和 Quartz 2D 有啥区别?