1.0 Quartz 2D簡介,1.0quartz2d簡介
Quartz2D須知:
| (1)Quartz 2D是蘋果官方的二維繪圖引擎,同時支援iOS和Mac OS X系統(跨平台,純 C 語言的) |
| (2)Quartz2D的API是純C語言的 |
| (3)Quartz2D的API來自於Core Graphics架構 |
(4)資料類型和函數基本都以CG作為首碼
- CGContextRef —— 圖形上下文(相當於一個草稿紙)
- CGPathRef ——— 圖形路徑
- CGContextStrokePath(cox); ——— 渲染
|
Quartz2D api常用拼接路徑函數:
| //建立一個起點void CGContextMoveToPoint(CGContextRef c, CGFloat x, CGFloat y); |
| //添加新的線段到某個點void CGContextAddLineToPoint(CGContextRef c, CGFloat x, CGFloat y); |
| //添加一個矩形void CGContextAddRect(CGContextRef c, CGRect rect); |
| //添加一個橢圓void CGContextAddEllipseInRect(CGContextRef context, CGRect rect); |
//添加一個圓弧 void CGContextAddArc(CGContextRef c, CGFloat x, CGFloat y, CGFloat radius, CGFloat startAngle, CGFloat endAngle, int clockwise); |
Quartz 2D能完成的工作:
| (1) 繪製圖形 : 線條/三角形/矩形/圓/弧等 |
| (2) 繪製文字:塗鴉/畫板 |
| (3) 繪製圖片/產生圖片(映像) |
| (4) 讀取PDF/產生PDF |
| (5) /裁剪圖片 |
| (6) 手勢解鎖 |
| (7) 報表:折線圖/餅狀圖/柱狀圖 (查看 gif 動畫圖片) |
| (8) 自訂UI控制項(或者叫: 自訂 view) 通過 Quartz2D繪製自己的控制項 , 通過繼承自 UIView,重寫 drawRect:方法實現在控制項上繪製各種內容 舉例:通過繼承自 UIView 實現自訂的 UIImageView實現自訂的“下載進度條”控制項幸運轉盤控制項…… |
注意:
- Cocos2D(Cocos2D-x、Cocos2D-iPhone、Cocos2D-HTML5等), 是一個第三方開源的2D遊戲架構
- 做2D 遊戲的 還有 Sprite Kit。 一般3D 遊戲用 unity3D。
Quartz2D在iOS開發中的價值:
| 為了便於搭建美觀的UI介面,iOS提供了UIKit架構,裡面有各種各樣的UI控制項UILabel:顯示文字UIImageView:顯示圖片UIButton:同時顯示圖片和文字(能點擊)… … 利用UIKit架構提供的控制項,拼拼湊湊,能搭建和現實一些簡單、常見的UI介面 但是,有些UI介面極其複雜、而且比較個人化,用普通的UI控制項無法實現,這時可以利用Quartz2D技術將控制項內部的結構畫出來,自訂控制項的樣子 其實,iOS中大部分控制項的內容都是通過Quartz2D畫出來的 因此,Quartz2D在iOS開發中很重要的一個價值是:自訂view(自訂UI控制項) |
如有疑問,請發送郵件至 shorfng@126.com 聯絡我。 By:藍田(Loto)