前言
對iOS開發者來說,基本的API可能已經足夠用于常規開發,但如果想要進一步提高開發技能,優化軟件性能,就可能需要下一點功夫了,最近的項目中遇到了這樣的需求,在PDF文件上面簽名,找到了一個demo,但是用到了Quartz2D,自身對這個框架并不太熟悉,尤其是語法是純C語言的.因此決定從搞懂這個框架
什么是Quartz2D?
Quartz 2D是一個二維圖形繪制引擎,支持iOS環境和Mac OS X環境。我們可以使用Quartz 2D API來實現許多功能,如基本路徑的繪制、透明度、描影、繪制陰影、透明層、顏色管理、反鋸齒、PDF文檔生成和PDF元數據訪問。在需要的時候,Quartz 2D還可以借助圖形硬件的功能。
在Mac OS X中,Quartz 2D可以與其它圖形圖像技術混合使用,如Core Image、Core Video、OpenGL、QuickTime。例如,通過使用 QuickTime的GraphicsImportCreateCGImage函數,可以用 Quartz從一個 QuickTime圖形導入器中創建一個圖像。
Quartz2D的價值
為了便于搭建美觀的UI界面,iOS提供了UIKit框架,里面有各種各樣的UI控件
UILabel:顯示文字
UIImageView:顯示圖片
UIButton:同時顯示圖片和文字(能點擊)
… …
利用UIKit框架提供的控件,拼拼湊湊,能搭建和現實一些簡單、常見的UI界面
但是,有些UI界面極其復雜、而且比較個性化,用普通的UI控件無法實現,這時可以利用Quartz2D技術將控件內部的結構畫出來,自定義控件的樣子
其實,iOS中大部分控件的內容都是通過Quartz2D畫出來的
因此,Quartz2D在iOS開發中很重要的一個價值是:自定義view(自定義UI控件)
暫停,接到新任務,搞郵箱開發了...
未完待續