Core Graphics 是一個(gè)強(qiáng)大的圖形處理框架启具,提供了許多 API 用于繪制和處理圖形锚扎。以下是一些常用的 Core Graphics API,按照功能分類列出:
### 1. **上下文管理**
- **`CGContextRef`**:圖形上下文的基本類型,用于繪制操作。
- **`CGBitmapContextCreate`**:創(chuàng)建位圖上下文拾稳。
- **`CGBitmapContextGetData`**:獲取位圖上下文的數(shù)據(jù)指針。
- **`CGContextSaveGState` 和 `CGContextRestoreGState`**:保存和恢復(fù)當(dāng)前狀態(tài)腊脱。
### 2. **路徑和形狀**
- **`CGPathCreateMutable`**:創(chuàng)建可變路徑访得。
- **`CGPathAddLineToPoint`**:向路徑添加直線。
- **`CGPathAddArc`**:向路徑添加圓弧陕凹。
- **`CGPathCloseSubpath`**:關(guān)閉當(dāng)前子路徑震鹉。
- **`CGContextAddPath`**:將路徑添加到當(dāng)前上下文。
### 3. **填充和描邊**
- **`CGContextFillPath`**:填充當(dāng)前路徑捆姜。
- **`CGContextStrokePath`**:描邊當(dāng)前路徑。
- **`CGContextSetFillColor`**:設(shè)置填充顏色迎膜。
- **`CGContextSetStrokeColor`**:設(shè)置描邊顏色泥技。
### 4. **圖像處理**
- **`CGImageCreate`**:創(chuàng)建圖像對(duì)象。
- **`CGImageDraw`**:在上下文中繪制圖像。
- **`CGImageRelease`**:釋放圖像對(duì)象珊豹。
- **`CGBitmapInfo`**:位圖信息結(jié)構(gòu)體簸呈,用于描述圖像的格式。
### 5. **字體和文本**
- **`CGFontCreateWithDataProvider`**:從數(shù)據(jù)提供器創(chuàng)建字體店茶。
- **`CTLineCreateWithAttributedString`**:使用屬性字符串創(chuàng)建文本行蜕便。
- **`CTLineDraw`**:在上下文中繪制文本行。
### 6. **顏色和透明度**
- **`CGColorSpaceCreateDeviceRGB`**:創(chuàng)建 RGB 顏色空間贩幻。
- **`CGColorCreate`**:創(chuàng)建顏色對(duì)象轿腺。
### 7. **圖形變換**
- **`CGAffineTransformMake`**:創(chuàng)建仿射變換。
- **`CGContextConcatCTM`**:將當(dāng)前的變換矩陣與給定的矩陣相乘丛楚。
- **`CGContextScaleCTM`**:應(yīng)用縮放變換族壳。
- **`CGContextRotateCTM`**:應(yīng)用旋轉(zhuǎn)變換。
- **`CGContextTranslateCTM`**:應(yīng)用平移變換趣些。
### 8. **漸變和圖案**
- **`CGGradientCreateWithColors`**:創(chuàng)建漸變仿荆。
- **`CGContextDrawLinearGradient`**:繪制線性漸變。
- **`CGContextDrawRadialGradient`**:繪制徑向漸變坏平。
- **`CGContextSetFillColorSpace`**:設(shè)置填充顏色空間拢操,用于圖案填充。
### 9. **裁剪和合成**
- **`CGContextClip`**:根據(jù)當(dāng)前路徑裁剪上下文舶替。
- **`CGContextClipToRect`**:裁剪到指定矩形區(qū)域令境。
- **`CGContextSetBlendMode`**:設(shè)置混合模式。
### 10. **圖層和陰影**
- **`CGContextSetShadow`**:設(shè)置陰影屬性坎穿。
- **`CGContextSetShadowWithColor`**:設(shè)置帶顏色的陰影展父。
這些 API 提供了豐富的功能,可以滿足大多數(shù)圖形繪制和處理的需求玲昧。要深入學(xué)習(xí)這些 API栖茉,建議查閱官方文檔和進(jìn)行實(shí)踐,以便更好地理解它們的使用方式孵延。