Core Graphics框架 利用Quartz 2D繪圖
首先,什麽是Core Graphics和Quartz 2D?
Core Graphics:是基於Quartz 2D繪圖引擎的一個C語言的API繪圖框架。它也是iOS開發中最基本的框架(Framework)之一。兩點原因,第一是該框架是每一個iOS應用最初被建立時,就被系統默認添加的三個框架(Foundation、UIKit、Core Graphics)之一;另一點是,我們平時常見的各種UIKit框架提供的UI控件,實際上都是由Core Graphics進行繪制的。
Quartz 2D:是一個繪圖引擎,它被Core Graphics所封裝所包含,它是Core Graphics的一部分。因此我們一般都是用CGxxxx命名的函數進行繪圖。
其次,在哪裏繪圖?
在圖形上下文對象中繪圖,在Quartz 2D中的繪圖上下文可以是位圖Bitmap、PDF、窗口Window、層Layer、打印對象Printer。最常見的,我們在UIView和UIView子類上繪圖,其實是在系統為我們已經準備好的一個圖形上下文CGContextRef對象上繪圖。這個CGContextRef對象只能在drawRect函數中獲取,而且一定是自動調用的drawRect函數。(假如你自己手動調用該函數,將無法獲取圖形上下文CGContextRef對象,從而也就無法成功繪圖。當然,這樣做並不會造成app崩潰crash,或者其他致命錯誤,但是因為無法繪圖,因此這樣做是毫無意義的)。
點、線、面的構建
繪圖的步驟:(在drawRect函數中)
1.獲取繪圖上下文
2.創建並設置路徑
3.將路徑添加到上下文
4.設置上下文狀態
5.繪制路徑
6.釋放路徑
(這裏借鑒了 http://www.cnblogs.com/kenshincui/p/3959951.html 的表述)
Core Graphics框架 利用Quartz 2D繪圖