Quartz 2D编程指南
kq_job
这个作者很懒,什么都没留下…
展开
-
Quartz 2D编程指南(3) - 路径(Paths)【上】
路径定义了一个或多个形状,或是子路径。一个子路径可由直线,曲线,或者同时由两者构成。它可以是开放的,也可以是闭合的。一个子路径可以是简单的形状,如线、圆、矩形、星形;也可以是复杂的形状,如山脉的轮廓或者是涂鸦。图3-1显示了一些我们可以创建的路径。左上角的直线可以是虚线;直线也可以是实线。上边中间的路径是由多条曲线组成的开放路径。右上角的同心圆填充了颜色,但没有描边。左下角的加利福尼亚州是闭合路径转载 2013-08-17 20:35:53 · 1403 阅读 · 0 评论 -
Quartz 2D编程指南(9) -- 透明层
透明层(TransparencyLayers)通过组合两个或多个对象来生成一个组合图形。组合图形被看成是单一对象。当需要在一组对象上使用特效时,透明层非常有用,如图9-1所示的给三个圆使用阴影的效果。 如果没有使用透明层来渲染图9-1中的三个圆,对它们使用阴影的效果将是如图9-2所示: 透明层的工作方式Quartz的透明层类似于许多流行的图形应用中的层。层是独立转载 2013-08-17 21:51:58 · 905 阅读 · 0 评论 -
Quartz 2D编程指南(3) - 路径(Paths)【下】
设置混合模式混合模式指定了Quartz如何将绘图绘制到背景上。Quartz默认使用普通混合模式(normal blend mode),该模式使用如下公式来计算前景绘图与背景绘图如何混合:result = (alpha * foreground) + (1 - alpha) *background“颜色与颜色空间”章节里面详细讨论了颜色值的alpha组件,该组件用转载 2013-08-17 21:02:38 · 1059 阅读 · 0 评论 -
Quartz 2D编程指南(14)--PDF文档的解析
PDF文档解析Quartz提供了让你检查PDF文档结构和内容流(contentstream)的函数.检查文档结构可以让你读取文档目录的条目和与每个条目相关的内容。通过递归地遍历目录,您可以检查整个文档。一个PDF的内容流(contentstream)正如其名字所暗示的—一个连续的数据流 例如'BT 12 /F71 Tf (draw thistext) Tj . . . '此处PDF转载 2013-08-18 10:53:04 · 1213 阅读 · 0 评论 -
Quartz 2D编程指南(2) - 图形上下文
一个Graphics Context表示一个绘制目标。它包含绘制系统用于完成绘制指令的绘制参数和设备相关信息。Graphics Context定义了基本的绘制属性,如颜色、裁减区域、线条宽度和样式信息、字体信息、混合模式等。我们可以通过几种方式来获取Graphics Context:Quartz提供的创建函数、Mac OS X框架或IOS的UIKit框架提供的函数。Quartz提供了多种G转载 2013-08-18 10:59:54 · 898 阅读 · 0 评论 -
Quartz 2D编程指南(4) - 颜色和颜色空间
本文为论坛会员德鲁伊编写的关于Quartz 2D编程的系列文章不同的设备(显示器、打印机、扫描仪、摄像头)处理颜色的方式是不同的。每种设备都有其所能支持的颜色值范围。一种设备能支持的颜色可能在其它设备中无法支持。为了有效的使用颜色及理解Quartz 2D中用于颜色及颜色空间的函数,我们需要熟悉在Color Management Overview文档中所使用的术语。该文档中讨论了色觉转载 2013-08-17 21:55:02 · 930 阅读 · 0 评论 -
Quartz 2D编程指南(13) - PDF文档的创建、显示及转换
PDF文档存储依赖于分辨率的向量图形、文本和位图,并用于程序的一系列指令中。一个PDF文档可以包含多页的图形和文本。PDF可用于创建跨平台、只读的文档,也可用于绘制依赖于分辨率的图形。 Quartz为所有应用程序创建高保真的PDF文档,这些文档保留应用的绘制操作,如图13-1所示。PDF文档的结果将通过系统的其它部分或第三方法的产品来有针对性地进行优化。Quartz创建的PDF转载 2013-08-17 21:56:03 · 891 阅读 · 0 评论 -
Quartz 2D编程指南(10) -- Quartz 2D中的数据管理
管理数据是每一个图形应用程序所需要处理的工作。对于Quartz来说,数据管理涉及为Quartz 2D程序提供数据,及从中获取数据。一些Quartz 2D程序将数据传输到Quartz中,如从文件或程序其它部分获取图片或PDF数据。另一些程序则获取Quartz数据,如将图像或PDF数据写入到文件,或提供给程序其它部分这些数据。Quartz提供了一系列的函数来管理数据。通过学习本章,我们可以转载 2013-08-17 21:53:38 · 801 阅读 · 0 评论 -
Quartz 2D编程指南
Quartz 2D编程指南(1) - 概览 Quartz 2D编程指南(1) - 概览Quartz 2D编程指南(2) - 图形上下文(Graphics Contexts)Quartz 2D是一个二维图形绘制引擎,支持iOS环境和Mac OS X环境。我们可以使用Quartz 2D API来实现许多功能,如基本路径的绘制、透明度、描影、绘制阴影、透明层、转载 2013-08-17 20:25:39 · 888 阅读 · 0 评论 -
Quartz 2D编程指南(5) - 变换
Quartz 2D 绘制模型定义了两种独立的坐标空间:用户空间(用于表现文档页)和设备空间(用于表现设备的本地分辨率)。用户坐标空间用浮点数表示坐标,与设备空间的像素分辨率没有关系。当我们需要一个点或者显示文档时, Quartz会将用户空间坐标系统映射到设备空间坐标系统。因此,我们不需要重写应用程序或添加额外的代码来调整应用程序的输出以适应不同的设备。我们可以通过操作CTM(current转载 2013-08-17 20:30:13 · 720 阅读 · 0 评论 -
Quartz 2D编程指南(7) - 阴影
阴影是绘制在一个图形对象下的且有一定偏移的图片,它用于模拟光源照射到图形对象上所形成的阴影效果,如果7-1所示。文本也可以有阴影。阴影可以让一幅图像看上去是立体的或者是浮动的。 阴影有三个属性:x偏移值,用于指定阴影相对于图片在水平方向上的偏移值。y偏移值,用于指定阴影相对于图片在竖直方向上的偏移值。模糊(blur)值,用于指定图像是有一个硬边(hard edge,如图转载 2013-08-17 20:52:12 · 783 阅读 · 0 评论