仿射变换:
函数 | 用途 |
CGAffineTransformMakeTranslation | 通过指定x, y值来创建一个平移矩阵 |
CGAffineTransformTranslate | 在已存在的矩阵中使用平移 |
CGAffineTransformMakeRotation | 通过指定角度来创建一个旋转矩阵 |
CGAffineTransformRotate | 在已存在的矩阵中使用旋转 |
CGAffineTransformMakeScale | 通过指定x, y缩放因子来创建一个缩放矩阵 |
CGAffineTransformScale | 在已存在的矩阵中使用缩放 |
CGAffineTransformInvert | 倒置矩阵,将值与倒置矩阵相乘得到原先的值。通常不需要倒置操作,因为我们可以通过保存和恢复图形状态来倒置CTM的效果 |
调用CGPointApplyAffineTransform在CGPoint结构上执行变换操作。调用CGSizeApplyAffineTransform在CGSize结构上执行变换操作。调用CGRectApplyAffineTransform在CGRect结构上执行变换操作
函数CGAffineTransformIsIdentity用于确认一个变换是否是单位变换。单位变换没有平移、缩放和旋转操作。
Quartz
常量CGAffineTransformIdentity表示一个单位变换
用户空间到设备空间的变换
如果我们的应用程序需要获取
Quartz
转换用户空间和设备空间的仿射变换,我们可以调用函数CGContextGetUserSpaceToDeviceSpaceTransform。
- 点:函数CGContextConvertPointToDeviceSpace和CGContextConvertPointToUserSpace将一个CGPoint数据结构从一个空间变换到另一个空间。
- 大小:函数CGContextConvertSizeToDeviceSpace和CGContextConvertSizeToUserSpace将一个CGSize数据结构从一个空间变换到另一个空间。
- 矩形:函数CGContextConvertRectToDeviceSpace和CGContextConvertRectToUserSpace将一个CGPoint数据结构从一个空间变换到另一个空间