Core Animation应用中关于Quartz2D是本文要介绍的内容,主要是通过Quartz2D来学习IOS开发绘图操作,本文来简单的讲解一下关于Quartz2D的操作,来看详细内容。
1、Quartz2D是底层的轻量级的2D绘制引擎,支持iOS和Mac OS,支持多种不同的设备。
2、支持图层,向量绘制,颜色管理,反走样和PDF的创建,显示,解析。
3、Painter Model:paint to canvas, called page。在画布上绘制的对象除了被其他对象覆盖外,不能改变。
4、Graphics Context:绘制上下文,包括绘制参数和设备相关设定。
Bitmap Context:绘制RGB、CMYK或者灰度图。
PDF Context:绘制PDF文件。多页、自动识别不同设备、分辨率不变。
Windows Context:绘制窗口。
Layer Context:离线绘制对象。
PostScript Graphic Context: 打印。
5、Quartz2D的对象类型:
Path:向量绘制路径对象。
Image:位图对象。
Layer:离线绘制图层对象。
Pattern:绘制模板对象。
Shading/Gradient:绘制特殊效果对象。
Function:回调函数对象,用于绘制特殊效果。
Color/Color Space:颜色和颜色空间对象。
Image Source/Destination:图像数据移动对象。
Font:文字对象。
PDF 字典/对象/页面/数据流/数组对象。
PDF 内容/浏览对象。
Post Script对象,用于打印。
6、绘制状态:使用堆栈管理,Context创建时,State为空。调用CGContextSaveGState执行push State操作。CGContextRestoreGState调用pop State操作。State包括:
(1)当前变换矩阵CTM
(2)裁剪范围
(3)Line Style:宽度、连接、线头、点划、角
(4)曲线绘制设置
(5)反走样设置
(6)填充模式和描边模式
(7)半透明模式
(8)绘制意图
文字:字体、大小、间距、模式
混合模式
7、坐标系统: 左下为原点,右上为终点。UIKit相反。(需要根据不同context和操作系统试验)
8、内存管理:Ref-counted。
create/copy的对象需要hold一个refcount并release。
使用对应的函数来管理对应的对象。
小结:详解Core Animation应用中关于Quartz2D的内容介绍完了,希望通过本文的介绍能对你有所帮助!