本文翻譯自蘋果官方文檔:原文地址
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的問題。
注意事項
文章中列舉的章節鏈接將在翻譯好之后更新。