Core Graphics 是一个强大的图形处理框架,提供了许多 API 用于绘制和处理图形。以下是一些常用的 Core Graphics API,按照功能分类列出:
### 1. **上下文管理**
- **`CGContextRef`**:图形上下文的基本类型,用于绘制操作。
- **`CGBitmapContextCreate`**:创建位图上下文。
- **`CGBitmapContextGetData`**:获取位图上下文的数据指针。
- **`CGContextSaveGState` 和 `CGContextRestoreGState`**:保存和恢复当前状态。
### 2. **路径和形状**
- **`CGPathCreateMutable`**:创建可变路径。
- **`CGPathAddLineToPoint`**:向路径添加直线。
- **`CGPathAddArc`**:向路径添加圆弧。
- **`CGPathCloseSubpath`**:关闭当前子路径。
- **`CGContextAddPath`**:将路径添加到当前上下文。
### 3. **填充和描边**
- **`CGContextFillPath`**:填充当前路径。
- **`CGContextStrokePath`**:描边当前路径。
- **`CGContextSetFillColor`**:设置填充颜色。
- **`CGContextSetStrokeColor`**:设置描边颜色。
### 4. **图像处理**
- **`CGImageCreate`**:创建图像对象。
- **`CGImageDraw`**:在上下文中绘制图像。
- **`CGImageRelease`**:释放图像对象。
- **`CGBitmapInfo`**:位图信息结构体,用于描述图像的格式。
### 5. **字体和文本**
- **`CGFontCreateWithDataProvider`**:从数据提供器创建字体。
- **`CTLineCreateWithAttributedString`**:使用属性字符串创建文本行。
- **`CTLineDraw`**:在上下文中绘制文本行。
### 6. **颜色和透明度**
- **`CGColorSpaceCreateDeviceRGB`**:创建 RGB 颜色空间。
- **`CGColorCreate`**:创建颜色对象。
### 7. **图形变换**
- **`CGAffineTransformMake`**:创建仿射变换。
- **`CGContextConcatCTM`**:将当前的变换矩阵与给定的矩阵相乘。
- **`CGContextScaleCTM`**:应用缩放变换。
- **`CGContextRotateCTM`**:应用旋转变换。
- **`CGContextTranslateCTM`**:应用平移变换。
### 8. **渐变和图案**
- **`CGGradientCreateWithColors`**:创建渐变。
- **`CGContextDrawLinearGradient`**:绘制线性渐变。
- **`CGContextDrawRadialGradient`**:绘制径向渐变。
- **`CGContextSetFillColorSpace`**:设置填充颜色空间,用于图案填充。
### 9. **裁剪和合成**
- **`CGContextClip`**:根据当前路径裁剪上下文。
- **`CGContextClipToRect`**:裁剪到指定矩形区域。
- **`CGContextSetBlendMode`**:设置混合模式。
### 10. **图层和阴影**
- **`CGContextSetShadow`**:设置阴影属性。
- **`CGContextSetShadowWithColor`**:设置带颜色的阴影。
这些 API 提供了丰富的功能,可以满足大多数图形绘制和处理的需求。要深入学习这些 API,建议查阅官方文档和进行实践,以便更好地理解它们的使用方式。