本文翻譯自蘋果官方文檔:原文地址
Core Graphics(Quartz 2D)編程簡(jiǎn)介
Core Graphics褐缠,也被叫做Quartz 2D,他是一個(gè)先進(jìn)的二維圖形引擎划煮,能夠在iOS送丰、macOS、tvOS應(yīng)用開(kāi)發(fā)中使用弛秋。Quartz 2D提供輕量器躏、底層的2D渲染方式俐载,同時(shí)不管是顯示還是打印,它都具有無(wú)法比擬的精確度登失。Quartz 2D在分辨率和設(shè)備上都是獨(dú)立的遏佣。
Quartz 2D的API非常易于使用,同時(shí)它提供了很多強(qiáng)大的功能揽浙,例如:透明圖層状婶、基于路徑的繪畫、離屏渲染馅巷、高級(jí)顏色管理膛虫、抗鋸齒渲染、PDF文檔的創(chuàng)建钓猬、展示和解析稍刀。
誰(shuí)需要看這些文檔?
這些文檔是為有下列任意需求的開(kāi)發(fā)者準(zhǔn)備的:
- 繪制圖形
- 提供圖形編輯功能的APP
- 創(chuàng)建或者顯示位圖圖像(bitmap images)
- PDF相關(guān)功能
文檔的結(jié)構(gòu)
關(guān)于Quartz 2D的開(kāi)發(fā)文檔具有以下章節(jié):
- Quartz 2D綜述 描述了page敞曹、繪畫畫布(drawing destinations)账月、Quartz中的數(shù)據(jù)類型、圖形狀態(tài)(graphics states)澳迫、坐標(biāo)系(coordinates)局齿、內(nèi)存管理,本章揭示了Quartz是怎么在"引擎蓋"下工作的橄登。
- 圖形上下文(Graphics Contexts) 描述了多種繪畫畫布抓歼,并一步一步的教會(huì)你創(chuàng)建它們。
- 路徑(Paths) 中討論了創(chuàng)造路徑的基本元素拢锹,展示了如何創(chuàng)建路徑锭部、填充路徑、設(shè)置剪輯區(qū)域面褐;同樣也展示了不同的混色模式對(duì)于填充的影響。
- 顏色和色域 討論了色值和透明度取胎,并且描述了如何創(chuàng)建色域展哭、設(shè)置顏色、創(chuàng)建顏色對(duì)象以及設(shè)置渲染意圖闻蛀。
- 轉(zhuǎn)換(Transforms) 中描述了當(dāng)前轉(zhuǎn)換矩陣(current transformation matrix也即是CMT)匪傍,以及怎么去改變它。并且展示了如何設(shè)置仿射變換觉痛,如何在用戶和設(shè)備空間之間進(jìn)行轉(zhuǎn)換魄幕,并提供了Quartz所執(zhí)行的數(shù)學(xué)操作的背景信息苟耻。
- 樣章(Patterns) 定義了樣章和他相關(guān)部分的內(nèi)容。告訴了我們Quartz如何渲染他們以及怎么創(chuàng)建彩色和模板樣章疮茄。
- 陰影(Shadows) 描述了什么是陰影,闡明了他的工作原理麦锯,并教給我們?cè)趺蠢L制陰影。
- 漸變(Gradients) 講解了軸向和徑向漸變,并說(shuō)明了怎么使用CGShading和CGGrandient對(duì)象钉鸯。
- 透明圖層(Transparency Layers) 給我們展示了透明圖層的效果,告訴我們它的原理邮辽,教我們一步一步的實(shí)現(xiàn)它唠雕。
- Quartz 2d中的數(shù)據(jù)管理 告訴我們?nèi)绾螌?shù)據(jù)導(dǎo)入、導(dǎo)出到Quart 2D吨述。
- 位圖圖像和圖像遮罩 告訴了我們什么是位圖圖像岩睁,如何使用Quartz來(lái)展示位圖圖像;該章節(jié)中同樣告訴了我們?nèi)绾卧趫D片上使用遮罩技術(shù)揣云,并且展示了大量用不同混色模式來(lái)繪制圖像時(shí)的不同效果捕儒。
- 核心圖形圖層繪畫 描述了如何使用繪畫圖層來(lái)實(shí)現(xiàn)高性能的樣章繪制和離屏繪制。
- PDF的創(chuàng)建灵再、展示和變換 告訴我們?nèi)绾未蜷_(kāi)和展示PDF文檔肋层,如何對(duì)它們使用變換、創(chuàng)建PDF文件翎迁、獲取PDF的元數(shù)據(jù)栋猖、添加鏈接、安全特性(如密碼保護(hù))汪榔。
- PDF文檔的解析 該章告訴我們?nèi)绾问褂肅GPDFScanner和CGPDFContentStream對(duì)象去解析和審查PDF文檔蒲拉。
- PostScript轉(zhuǎn)換 章節(jié)中提供了一些可以在Mac OS X中將PostScript文件轉(zhuǎn)換成PDF文檔的方法。這些方法在iOS中不可用痴腌。
- 文字 中描述了Quartz 2D對(duì)文字和字形使用底層級(jí)支持雌团,同時(shí)提供了高層級(jí)的(可代替低層級(jí)的)Unicode文字支持方案。該章節(jié)也討論了如何捕獲字體的變化士聪。
- 術(shù)語(yǔ)表 定義了本指南中使用的術(shù)語(yǔ)锦援。
相關(guān)文章
下面列舉的文章對(duì)于要使用Quartz 2D的人來(lái)說(shuō)是很重要的:
- Core Graphics Framework Reference 提供了完整的Quartz 2D應(yīng)用的引用。
- Color Management Overview 對(duì)于顏色剥悟、色域灵寺、顏色管理系統(tǒng)的簡(jiǎn)介。
- 郵件列表区岗。加入Quartz - dev郵件列表略板,討論使用Quartz 2D的問(wèn)題。
注意事項(xiàng)
文章中列舉的章節(jié)鏈接將在翻譯好之后更新慈缔。