绘图

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,204评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,091评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,548评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,657评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,689评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,554评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,302评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,216评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,661评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,851评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,977评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,697评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,306评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,898评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,019评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,138评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,927评论 2 355

推荐阅读更多精彩内容