1、首先看下UIKit提供的非常基本的繪圖功能,主要API有:
(1)UIRectFill(CGRect rect),填充矩形函數。
(2)UIRectFrame(CGRect rect),矩形描邊函數
(3)UIBezierPath。
2、繪制圖形文本
UIImage類中繪制圖像主要的方法:
(1) drawAtPoint,設置繪制指定點
(2)drawInRect,圖片繪制在指定的矩形里
(3)drawAsPatternInRect,在指定的矩形里平鋪繪制圖片
3、圖形上下文
圖形上下文包含繪制系統執行后,繪制命令所需要的信息,定義了各種基本的繪制參數,如繪制使用的顏色,裁剪區域,線段的寬度及風格信息、字體信息、合成選項和幾個其他信息。
獲取上下文: let context = UIGraphicsGetContext()
* 這里CGContextClosePath(context),將路徑閉合
4、Quartz 路徑
quartz 路徑可以用來描述矩形、圓、等其他想要的2D幾何圖形。通過路徑可以對這些幾何圖形進行描邊、填充、和描邊填充。Core Graphics(Quartz 2D)中有四個基本圖元用于描述路徑:點、線段、弧、和貝塞爾曲線。
5、Quartz 坐標變換
圖形的另外一種操作就是坐標變換,主要包括平移,縮放和旋轉等形式的變換。變換離不開坐標,不同的繪圖系統會于坐標的定義也有所不同。
6、2D圖形的基本變換
(1)平移變換
(2)縮放變換
(3)旋轉變換
7、CTM變換矩陣
主要函數有:
(1)CGContextRotateCTM 旋轉變換
(2)CGContextScaleCTM 縮放變換
(3)CGContextTranslateCTM 平移變換
8、仿射變換
affine變換也是一種2D變換,它可以重用變換,經過多次變換,每一種變換都可以用矩陣表示,通過多次矩陣相乘得到最后結果。