前言
對(duì)iOS開(kāi)發(fā)者來(lái)說(shuō),基本的API可能已經(jīng)足夠用于常規(guī)開(kāi)發(fā),但如果想要進(jìn)一步提高開(kāi)發(fā)技能,優(yōu)化軟件性能,就可能需要下一點(diǎn)功夫了,最近的項(xiàng)目中遇到了這樣的需求,在PDF文件上面簽名,找到了一個(gè)demo,但是用到了Quartz2D,自身對(duì)這個(gè)框架并不太熟悉,尤其是語(yǔ)法是純C語(yǔ)言的.因此決定從搞懂這個(gè)框架
什么是Quartz2D?
Quartz 2D是一個(gè)二維圖形繪制引擎,支持iOS環(huán)境和Mac OS X環(huán)境纺阔。我們可以使用Quartz 2D API來(lái)實(shí)現(xiàn)許多功能,如基本路徑的繪制、透明度享怀、描影吭从、繪制陰影绣版、透明層、顏色管理沥阳、反鋸齒、PDF文檔生成和PDF元數(shù)據(jù)訪問(wèn)自点。在需要的時(shí)候桐罕,Quartz 2D還可以借助圖形硬件的功能。
在Mac OS X中桂敛,Quartz 2D可以與其它圖形圖像技術(shù)混合使用冈绊,如Core Image、Core Video埠啃、OpenGL死宣、QuickTime。例如碴开,通過(guò)使用 QuickTime的GraphicsImportCreateCGImage函數(shù)毅该,可以用 Quartz從一個(gè) QuickTime圖形導(dǎo)入器中創(chuàng)建一個(gè)圖像。
Quartz2D的價(jià)值
為了便于搭建美觀的UI界面潦牛,iOS提供了UIKit框架眶掌,里面有各種各樣的UI控件
UILabel:顯示文字
UIImageView:顯示圖片
UIButton:同時(shí)顯示圖片和文字(能點(diǎn)擊)
… …
利用UIKit框架提供的控件,拼拼湊湊巴碗,能搭建和現(xiàn)實(shí)一些簡(jiǎn)單朴爬、常見(jiàn)的UI界面
但是,有些UI界面極其復(fù)雜橡淆、而且比較個(gè)性化召噩,用普通的UI控件無(wú)法實(shí)現(xiàn)母赵,這時(shí)可以利用Quartz2D技術(shù)將控件內(nèi)部的結(jié)構(gòu)畫(huà)出來(lái),自定義控件的樣子
其實(shí)具滴,iOS中大部分控件的內(nèi)容都是通過(guò)Quartz2D畫(huà)出來(lái)的
因此凹嘲,Quartz2D在iOS開(kāi)發(fā)中很重要的一個(gè)價(jià)值是:自定義view(自定義UI控件)
暫停,接到新任務(wù),搞郵箱開(kāi)發(fā)了...
未完待續(xù)