Quartz 2D程式設計指南 (一) —— 簡介(一)
版本記錄
版本號 | 時間 |
---|---|
V1.0 | 2018.09.03 |
前言
Quartz 2D
框架相信大家都知道,也都一直在使用。Quartz 2D
的API是純C語言的,它是一個二維繪圖引擎,同時支援iOS和Mac系統。Quartz 2D
的API來自於Core Graphics
框架,資料型別和函式基本都以CG作為字首,接下來幾篇我們就一起來看一下這個框架。
Introduction - 簡介
Core Graphics
,也稱為Quartz 2D
,是一種先進的二維繪圖引擎,可用於iOS,tvOS和macOS應用程式開發。 Quartz 2D
提供低階,輕量級2D渲染,無論顯示器或列印裝置如何,都具有無與倫比的輸出保真度。 Quartz 2D與解析度和裝置無關。
Quartz 2D API
易於使用,並提供對強大功能的訪問,如透明層,基於路徑的繪圖,螢幕外渲染,高階顏色管理,抗鋸齒渲染以及PDF文件建立,顯示和解析。
Who Should Read This Document? - 適用讀者
本文件適用於需要執行以下任務的開發人員:
- 繪製圖形
- 在應用程式中提供圖形編輯功能
- 建立或顯示點陣圖影象
- 使用PDF文件
Organization of This Document - 文件組織
本文件分為以下章節:
- Overview of Quartz 2D描述了頁面,繪圖目的地,Quartz不透明資料型別,圖形狀態,座標和記憶體管理,並且它介紹了Quartz如何在“引擎蓋下”工作。
- Graphics Contexts描述了繪圖目標的種類,並提供了建立所有圖形上下文的逐步說明。
- Paths討論構成路徑的基本元素,顯示如何建立和繪製路徑,顯示如何設定剪下區域,以及解釋混合模式如何影響繪製。
- Color and Color Spaces討論顏色值並使用Alpha值進行透明度,它描述瞭如何建立顏色空間,設定顏色,建立顏色物件以及設定渲染意圖。
- Transforms描述了當前的變換矩陣,並解釋瞭如何對其進行修改,演示如何設定仿射變換,演示如何在使用者和裝置空間之間進行轉換,並提供有關Quartz執行的數學運算的背景資訊。
- Patterns定義了模式及其部分是什麼,告訴Quartz如何呈現它們,並展示如何建立彩色和模板模式。
- Shadows描述陰影是什麼,解釋它們是如何工作的,並展示如何用它們進行繪畫。
-
Gradients討論了軸向和徑向漸變,並展示瞭如何建立和使用
CGShading
和CGGradient
物件。 - Transparency Layers提供了透明層的外觀示例,討論了它們的工作原理,並提供了實施它們的逐步說明。
-
Data Management in Quartz 2D討論瞭如何將資料移入和移出
Quartz
。 - Bitmap Images and Image Masks描述了構成點陣圖影象定義的內容,並展示瞭如何將點陣圖影象用作Quartz繪圖基元。它還描述了可以在影象上使用的遮罩技術,並顯示了在繪製影象時使用混合模式可以實現的各種效果。
- Core Graphics Layer Drawing描述瞭如何建立和使用繪圖層以實現高效能圖案繪製或繪製螢幕外。
- PDF Document Creation, Viewing, and Transforming顯示如何開啟和檢視PDF文件,對其應用轉換,建立PDF檔案,訪問PDF後設資料,新增連結以及新增安全功能(如密碼保護)。
-
PDF Document Parsing描述瞭如何使用
CGPDFScanner
和CGPDFContentStream
物件來解析和檢查PDF文件。 -
PostScript Conversion概述了可以在Mac OS X中將
PostScript
檔案轉換為PDF
文件的功能。這些功能在iOS中不可用。 - Text描述了Quartz 2D對文字和字形的底層支援,以及提供更高階別和Unicode文字支援的替代方案。它還討論瞭如何複製字型變體。
- Glossary定義了本指南中使用的術語。
See Also - 同可參考
對於使用Quartz 2D
的人來說,這些專案是必不可少的:
- Core Graphics Framework Reference為Quartz 2D應用程式程式設計介面提供了完整的參考。
- Color Management Overview簡要介紹了色彩感知,色彩空間和色彩管理系統的原理。
-
Mailing lists
。 加入quartz-dev郵件列表,討論使用Quartz 2D的問題。
參考文章
後記
本篇主要講述了Quartz 2D簡介,感興趣的給個贊或者關注~~~
相關文章
- shell程式設計—簡介(一)程式設計
- WebGL程式設計指南(1)簡介Web程式設計
- Gtk+/Glade程式設計(一)--簡介程式設計
- Quartz 2Dquartz
- 使XML程式設計更簡單---JDOM介紹及程式設計指南 (轉)XML程式設計
- iOS 網路程式設計(一)TCP IP協議簡介iOS程式設計TCP協議
- Instruments使用指南(一)--- 簡介
- windows程式設計簡介Windows程式設計
- shell程式設計簡介程式設計
- PHPer面試指南-程式設計師如何寫好一份簡歷?PHP面試程式設計師
- IO程式設計和NIO程式設計簡介程式設計
- 結對程式設計簡介程式設計
- Linux核心模組程式設計指南(一)(轉)Linux程式設計
- 又一名倒下的程式設計師! - 程式設計師健康指南程式設計師
- Linux Shell程式設計(1)——shell程式設計簡介Linux程式設計
- 最簡程式設計基本功指南程式設計
- Matlab簡介與程式設計例項(一)(西北工業大MOOC)Matlab程式設計
- Scala 簡介 [摘自 Scala程式設計 ]程式設計
- Linux Socket 程式設計簡介Linux程式設計
- BASH SHELL 程式設計簡介(轉)程式設計
- 函數語言程式設計簡介函數程式設計
- .NET泛型程式設計簡介 (轉)泛型程式設計
- 鹹魚翻身——程式設計自學指南(一)正向路線程式設計
- 一份簡單明瞭的網頁設計用色指南網頁
- Windows 程式設計簡介從C/C++到Windows程式設計Windows程式設計C++
- ORACLE PL/SQL程式設計詳解之一: PL/SQL 程式設計簡介(千里之行,始於足下)OracleSQL程式設計
- Mybatis原始碼分析(一)Mybatis的架構設計簡介MyBatis原始碼架構
- Flink入坑指南第一章-簡介
- 保持一個好身體然後,繼續程式設計!《程式設計師健康指南》程式設計師
- 01 Python3程式設計之程式設計語法簡介Python程式設計
- 併發程式設計基礎——JMM簡介程式設計
- 響應式程式設計簡介之:Reactor程式設計React
- js DSL超程式設計簡單介紹JS程式設計
- JavaScript 模組化程式設計簡單介紹JavaScript程式設計
- 伯樂線上程式設計挑戰簡介程式設計
- Linux 程式設計工具簡單介紹Linux程式設計
- 面向方面程式設計的Annotation簡介(轉)程式設計
- SpringBoo+HTMX程式設計簡介Spring程式設計