CGAffineTransform是二维的仿射变换,可以进行位移,旋转,缩放,CGAffineTransform实际上是一个矩阵。
CGAffineTransform {
CGFloat a, b, c, d;
CGFloat tx, ty;
};
对证的矩阵:
|a, b, 0|
|c, d, 0|
|tx,ty,1|
方法名 | 描述 |
CGAffineTransformIdentity |
单位仿射变换,对应的矩阵:[ 1 0 0 1 0 0 ] |
CGAffineTransformMake(CGFloat a, CGFloat b,CGFloat c, CGFloat d, CGFloat tx, CGFloat ty) |
创建放射变换 |
CGAffineTransformMakeTranslation(CGFloat tx, CGFloat ty) |
位移 |
CGAffineTransformMakeScale(CGFloat sx, CGFloat sy) |
比例缩放 |
CGAffineTransform CGAffineTransformMakeRotation(CGFloat angle) |
旋转 |
CGAffineTransformIsIdentity(CGAffineTransform t) |
判断是否是单位变换矩阵 |
CGAffineTransformTranslate(CGAffineTransform t,CGFloat tx, CGFloat ty) |
在上一个transform上位移 |
CGAffineTransformScale(CGAffineTransform t,CGFloat sx, CGFloat sy) |
在上一个transform上缩放 |
CGAffineTransformRotate(CGAffineTransform t,CGFloat angle) |
在上一个transform上旋转 |
CGAffineTransformInvert(CGAffineTransform t) |
反转 |
CGAffineTransformConcat(CGAffineTransform t1,CGAffineTransform t2) |
通过两个已经存在的矩阵生成一个新的矩阵 |
CGAffineTransformEqualToTransform(CGAffineTransform t1,CGAffineTransform t2) |
两个放射变换是否相等 |
CGPointApplyAffineTransform(CGPoint point,CGAffineTransform t) |
把变化应用到一个点上 |
CGSizeApplyAffineTransform(CGSize size, CGAffineTransform t) |
把变化应用到一个区域 |
CGRectApplyAffineTransform(CGRect rect, CGAffineTransform t) |
运用到一个带原点的区间 |