iOS讲义总结
在iOS中,Quartz 2D提供了坐标变换支持。
一、特殊的坐标变换(平移、缩放、旋转)
1. - void CGContextTranslateCTM ( CGContextRef c, CGFloat tx, CGFloat ty ):平移坐标系统。
该方法相当于把原来位于 (0, 0) 位置的坐标原点平移到 (tx, ty) 点。在平移后的坐标系统上绘制图形时,所有坐标点的 X 坐标都相当于增加了 tx,所有点的 Y 坐标都相当于增加了 ty。
2. - void CGContextScaleCTM ( CGContextRef c, CGFloat sx, CGFloat sy ):缩放坐标系统。
该方法控制坐标系统水平方向上缩放 sx,垂直方向上缩放 sy。在缩放后的坐标系统上绘制图形时,所有点的 X 坐标都相当于乘以 sx 因子,所有点的 Y 坐标都相当于乘以 sy 因子。
3. - void CGContextRotateCTM ( CGContextRef c, CGFloat angle ):旋转坐标系统。
该方法控制坐标系统旋转 angle 弧度。在缩放后的坐标系统上绘制图形时,所有坐标点的 X、Y 坐标都相当于旋转了 angle弧度之后的坐标。
为了让开发者在进行坐标变换时无须计算多次坐标变换后的累加结果,Quartz 2D还提供了如下两个方法来保存、恢复绘图状态。
- void CGContextSaveGState ( CGContex