詳解Core Animation應用中關于Quartz2D
Core Animation應用中關于Quartz2D是本文要介紹的內容,主要是通過Quartz2D來學習IOS開發繪圖操作,本文來簡單的講解一下關于Quartz2D的操作,來看詳細內容。
1、Quartz2D是底層的輕量級的2D繪制引擎,支持iOS和Mac OS,支持多種不同的設備。
2、支持圖層,向量繪制,顏色管理,反走樣和PDF的創建,顯示,解析。
3、Painter Model:paint to canvas, called page。在畫布上繪制的對象除了被其他對象覆蓋外,不能改變。
4、Graphics Context:繪制上下文,包括繪制參數和設備相關設定。
Bitmap Context:繪制RGB、CMYK或者灰度圖。
PDF Context:繪制PDF文件。多頁、自動識別不同設備、分辨率不變。
Windows Context:繪制窗口。
Layer Context:離線繪制對象。
PostScript Graphic Context: 打印。
5、Quartz2D的對象類型:
Path:向量繪制路徑對象。
Image:位圖對象。
Layer:離線繪制圖層對象。
Pattern:繪制模板對象。
Shading/Gradient:繪制特殊效果對象。
Function:回調函數對象,用于繪制特殊效果。
Color/Color Space:顏色和顏色空間對象。
Image Source/Destination:圖像數據移動對象。
Font:文字對象。
PDF 字典/對象/頁面/數據流/數組對象。
PDF 內容/瀏覽對象。
Post Script對象,用于打印。
6、繪制狀態:使用堆棧管理,Context創建時,State為空。調用CGContextSaveGState執行push State操作。CGContextRestoreGState調用pop State操作。State包括:
(1)當前變換矩陣CTM
(2)裁剪范圍
(3)Line Style:寬度、連接、線頭、點劃、角
(4)曲線繪制設置
(5)反走樣設置
(6)填充模式和描邊模式
(7)半透明模式
(8)繪制意圖
文字:字體、大小、間距、模式
混合模式
7、坐標系統: 左下為原點,右上為終點。UIKit相反。(需要根據不同context和操作系統試驗)
8、內存管理:Ref-counted。
create/copy的對象需要hold一個refcount并release。
使用對應的函數來管理對應的對象。
小結:詳解Core Animation應用中關于Quartz2D的內容介紹完了,希望通過本文的介紹能對你有所幫助!