本文翻译自苹果官方文档:原文地址
Core Graphics(Quartz 2D)编程简介
Core Graphics,也被叫做Quartz 2D,他是一个先进的二维图形引擎,能够在iOS、macOS、tvOS应用开发中使用。Quartz 2D提供轻量、底层的2D渲染方式,同时不管是显示还是打印,它都具有无法比拟的精确度。Quartz 2D在分辨率和设备上都是独立的。
Quartz 2D的API非常易于使用,同时它提供了很多强大的功能,例如:透明图层、基于路径的绘画、离屏渲染、高级颜色管理、抗锯齿渲染、PDF文档的创建、展示和解析。
谁需要看这些文档?
这些文档是为有下列任意需求的开发者准备的:
- 绘制图形
- 提供图形编辑功能的APP
- 创建或者显示位图图像(bitmap images)
- PDF相关功能
文档的结构
关于Quartz 2D的开发文档具有以下章节:
- Quartz 2D综述 描述了page、绘画画布(drawing destinations)、Quartz中的数据类型、图形状态(graphics states)、坐标系(coordinates)、内存管理,本章揭示了Quartz是怎么在"引擎盖"下工作的。
- 图形上下文(Graphics Contexts) 描述了多种绘画画布,并一步一步的教会你创建它们。
- 路径(Paths) 中讨论了创造路径的基本元素,展示了如何创建路径、填充路径、设置剪辑区域;同样也展示了不同的混色模式对于填充的影响。
- 颜色和色域 讨论了色值和透明度,并且描述了如何创建色域、设置颜色、创建颜色对象以及设置渲染意图。
- 转换(Transforms) 中描述了当前转换矩阵(current transformation matrix也即是CMT),以及怎么去改变它。并且展示了如何设置仿射变换,如何在用户和设备空间之间进行转换,并提供了Quartz所执行的数学操作的背景信息。
- 样章(Patterns) 定义了样章和他相关部分的内容。告诉了我们Quartz如何渲染他们以及怎么创建彩色和模板样章。
- 阴影(Shadows) 描述了什么是阴影,阐明了他的工作原理,并教给我们怎么绘制阴影。
- 渐变(Gradients) 讲解了轴向和径向渐变,并说明了怎么使用CGShading和CGGrandient对象。
- 透明图层(Transparency Layers) 给我们展示了透明图层的效果,告诉我们它的原理,教我们一步一步的实现它。
- Quartz 2d中的数据管理 告诉我们如何将数据导入、导出到Quart 2D。
- 位图图像和图像遮罩 告诉了我们什么是位图图像,如何使用Quartz来展示位图图像;该章节中同样告诉了我们如何在图片上使用遮罩技术,并且展示了大量用不同混色模式来绘制图像时的不同效果。
- 核心图形图层绘画 描述了如何使用绘画图层来实现高性能的样章绘制和离屏绘制。
- PDF的创建、展示和变换 告诉我们如何打开和展示PDF文档,如何对它们使用变换、创建PDF文件、获取PDF的元数据、添加链接、安全特性(如密码保护)。
- PDF文档的解析 该章告诉我们如何使用CGPDFScanner和CGPDFContentStream对象去解析和审查PDF文档。
- PostScript转换 章节中提供了一些可以在Mac OS X中将PostScript文件转换成PDF文档的方法。这些方法在iOS中不可用。
- 文字 中描述了Quartz 2D对文字和字形使用底层级支持,同时提供了高层级的(可代替低层级的)Unicode文字支持方案。该章节也讨论了如何捕获字体的变化。
- 术语表 定义了本指南中使用的术语。
相关文章
下面列举的文章对于要使用Quartz 2D的人来说是很重要的:
- Core Graphics Framework Reference 提供了完整的Quartz 2D应用的引用。
- Color Management Overview 对于颜色、色域、颜色管理系统的简介。
- 邮件列表。加入Quartz - dev邮件列表,讨论使用Quartz 2D的问题。
注意事项
文章中列举的章节链接将在翻译好之后更新。