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程式設計
- Instruments使用指南(一)--- 簡介
- PHPer面試指南-程式設計師如何寫好一份簡歷?PHP面試程式設計師
- Matlab簡介與程式設計例項(一)(西北工業大MOOC)Matlab程式設計
- 又一名倒下的程式設計師! - 程式設計師健康指南程式設計師
- Scala 簡介 [摘自 Scala程式設計 ]程式設計
- SpringBoo+HTMX程式設計簡介Spring程式設計
- Day43--GUI程式設計簡介GUI程式設計
- Flink入坑指南第一章-簡介
- Windows 程式設計簡介從C/C++到Windows程式設計Windows程式設計C++
- 01 Python3程式設計之程式設計語法簡介Python程式設計
- Mybatis原始碼分析(一)Mybatis的架構設計簡介MyBatis原始碼架構
- 實戰程式碼(一):SpringBoot整合QuartzSpring Bootquartz
- Canvas 2D 渲染指南 - 用 TypeScript 實現一個程式入口 Application 類CanvasTypeScriptAPP
- 併發程式設計基礎——JMM簡介程式設計
- 響應式程式設計簡介之:Reactor程式設計React
- Objective-C 執行時程式設計指南-介紹Object程式設計
- 鹹魚翻身——程式設計自學指南(一)正向路線程式設計
- go 併發程式設計案例一 課程介紹Go程式設計
- JavaScript高階程式設計學習(一)之介紹JavaScript程式設計
- 一、程式語言簡介與C++C++
- ModbusTCP協議簡介與程式設計流程圖TCP協議程式設計流程圖
- Rust語言非同步程式設計簡介 - ShakaibRust非同步程式設計AI
- 非同步程式設計測試Awaitlity簡介| Baeldung非同步程式設計AI
- tkinter簡介(一)
- Quartz - Quartz簡單入門quartz
- Python 函數語言程式設計、裝飾器以及一些相關概念簡介Python函數程式設計
- MFC程式設計(一)C程式程式設計
- 簡明高效的 Java 併發程式設計學習指南Java程式設計
- 區塊鏈上程式設計:DApp 開發簡介區塊鏈程式設計APP
- 好程式設計師Python培訓分享numpy簡介程式設計師Python
- SAP OData程式設計指南程式設計
- Core Text 程式設計指南程式設計
- Spark—GraphX程式設計指南Spark程式設計
- 簡單是 Python 程式設計的第一要則Python程式設計
- java設計模式一一設計模式的簡介和介紹Java設計模式
- python教程(一)·簡介Python