ios仿射变换学习-1

仿射变换

UIView的transform是CGAffineTransform类型,用于在二维空间做平移,缩放,旋转
初始化 CGAffineTransform transform = CGAffineTransformIdentity

CGAffineTransformIdentity 值是/ The identity transform: [ 1 0 0 1 0 0 ]. /;

CGAffineTransform transform = CGAffineTransformMake(CGFloat a,CGFloat b,

CGFloat c,CGFloa td,CGFloat tx,CGFloat ty)

矩阵算法公式:

transform1

创建一个CGAffineTransform

Core Graphics提供了一系列函数,创建了一个CGAffineTransform实例:

旋转 - CGAffineTransformMakeRotation(CGFloat angle)
缩放 - CGAffineTransformMakeScale(CGFloat sx, CGFloat sy)
平移 - CGAffineTransformMakeTranslation(CGFloat tx, CGFloat ty)

CALayer也有一个transform属性,但它的类型是CATransform3D
CALayer对应于UIView的transform属性叫做affineTransform

例如对 图层旋转

1
CGAffineTransform transform = CGAffineTransformMakeRotation(M_PI_4);
self.layerView.layer.affineTransform = transform;