Quartz 2D Programming Guide
gradient:从一种颜色到另一种颜色的填充变化
axial gradient:轴向梯度
linear gradient:线性梯度
user-space:与设备无关的坐标系统
page:Quartz绘画的虚拟画布
graphics context:不透明的数据类型,封装了用来绘制图像到一个输出设备的Quartz信息
path:一个或多个形状,Quartz paints绘画的单元
pattern:Quartz可以在graphics context.中反复绘制的绘画操作顺序
painter’s model:每个连续的绘图操作都会使用一种绘图模式应用一个绘图层到一个page
blend mode:混合模式,具体化Quartz如何将前台绘画跟后台绘画结合起来。
image mask :一个位图,指定一个具体的区域去绘图,但没有颜色。它就像一个钢网,在page上具体化一个将放置一个颜色的区域
color space:颜色维度,RGB是3维color space,3种颜色的强度的促进组成了一种特定的颜色。
device color space:跟系统有关,特定设备的代表
device-independent color space:在不同设备之间可便携,在不同设备之间可以交换通用颜色数据,即在不同设备上显示的效果相同
以章节展开
Overview of Quartz 2D:描述page, drawing destinations, Quartz opaque data types, graphics states, coordinates, and memory management
Graphics Contexts :为创建各种形式(flavor)的图形上下文提供-----分步指令
Paths :讨论组成path的基本元素,如何创建、绘画 ,展示如何设置裁剪区域,解释混合模式如何影响绘画
Patterns:定义什么是pattern,以及它的组成。告诉我们Quartz 如何呈现他们,并展示如何创建 多彩、标明的patterns
Gradients :讨论了轴向和径向梯度和显示了如何创建和使用CGShading和CGGradient对象。
Bitmap Images and Image Masks :描述了如何组成一个位图图像定义,并展示如何使用位图像作为Quartz drawing primitive.它还描述了可以应用在图像上的隐蔽技术,并展示了当你在绘图时可以通过混合模式获得的各种效果。
Core Graphics Layer Drawing :描述如何创建和使用绘图层去获取更高级的绘图模式 high-performance patterned drawing or to draw offscreen.
Text :描述Quartz 2D低水平文本和符号支持,和能提供高级和Unicode文本支持的可选方案,它也讨论了如何复制字体变化。
Transforms :描述当前的转换矩阵,并解释如何修改它,显示了如何设置仿射变换, 显示了如何在用户和设备空间之间进行转换, 提供执行Quartz 的数学操作的背景信息
Transparency Layers :解释透明层是什么样子的, 讨论了它们是如何工作的,并提供了分步指导,实现它们。
Data Management in Quartz 2D :讨论如何将数据移入和移出Quartz
Shadows :描述什么是阴影,解释它们如何工作的,以及如何用它们用来绘画。
Color and Color Spaces :讨论颜色值,使用alpha 值设置透明度,如何创建颜色space,设置颜色,创建颜色对象,如何设置渲染意图
PDF Document Creation, Viewing, and Transforming :展示了如何去打开和查看PDF文档,应用转换,创建一个PDF文件,访问PDF文件的元数据,添加链接,添加安全特性(比如密码保护)。
PDF Document Parsing :描述如何使用CGPDFScanner和CGPDFContentStream对象解析和检查PDF文档。
PostScript Conversion :给出一个可以应用在Mac OS X上的概述功能,去将PostScript文件转换成PDF文档。这些功能在iOS上不可用
Glossary :在本文中使用到的术语的定义
path-based drawing, painting with transparency, shading, drawing shadows, transparency layers, color management, anti-aliased rendering, PDF document generation, and PDF metadata access. Whenever possible, Quartz 2D leverages the power of the graphics hardware.
in iOS, Quartz 2D works with all available graphics and animation technologies, such as Core Animation, OpenGL ES, and the UIKit classes
Quartz 2D uses the painter’s model for its imaging. In the painter’s model, each successive drawing operation applies a layer of “paint” to an output “canvas,” often called a page.
Quartz 2D Coordinate Systems二维绘图坐标系
不同的设备它的底层成像功能不一,所以,图像的位置和大小必须以设备独立的方式定义。
The Page:
The paint on the page can be modified by overlaying more paint through additional drawing operations.
An object drawn on the page cannot be modified except by overlaying more paint.
to construct extremely sophisticated images from a small number of powerful primitives.
in the painter’s model the drawing order is important.
The Graphics Context : Drawing Destinations
不透明的数据类型,封装了用来绘制图像到一个输出设备的Quartz信息,这些信息包括:graphics drawing parameters、a device-specific representation of the paint on the page。所有在Quartz中的对象都是由 graphics context所吸引,包含?
可以把a graphics context 当作 a drawing destination
当你使用Quartz,所有特定设备的特点都是包含在你具体所使用的graphics context中
In other words, you can draw the same image to a different device simply by providing a different graphics context to the same sequence of Quartz drawing routines. You do not need to perform any device-specific calculations; Quartz does it for you
These graphics contexts:
bitmap graphics context 、PDF graphics context、window graphics context、layer context
Drawing to a View Graphics Context in iOS
在iOS中,you set up a UIView object and implement its drawRect: method to perform drawing.(method is called when the view is visible onscreen and its contents need updating.)
the view object automatically configures its drawing environment---the UIView object creates a graphics context
网友评论