CATransform3D

CATransform3D 的数据结构定义了一个同质的三维变换(4x4 CGFloat值的矩阵),用于图层的旋转,缩放,偏移,歪斜和应用的透视。

transform : 是结合 anchorPoint(锚点)的位置来对图层和图层上的子图层进行变化。

sublayerTransform:是结合anchorPoint(锚点)的位置来对图层的子图层进行变化,不包括本身。

CATransform3DIdentity 是单位矩阵,该矩阵没有缩放,旋转,歪斜,透视。该矩阵应用到图层上,就是设置默认值。

平移

CA_EXTERN CATransform3D CATransform3DMakeTranslation (CGFloat tx,CGFloat ty, CGFloat tz)

tx:X轴偏移位置,往下为正数。

ty:Y轴偏移位置,往右为正数。

tz:Z轴偏移位置,往外为正数。

缩放

CA_EXTERN CATransform3D CATransform3DMakeScale (CGFloat sx, CGFloat sy,

    CGFloat sz)

sx:X轴缩放,代表一个缩放比例,一般都是 0 --- 1 之间的数字。

sy:Y轴缩放。

sz:整体比例变换时,也就是m11(sx)== m22(sy)时,若m33(sz)>1,图形整体缩小,若0<1,图形整体放大,若m33(sz)<0,发生关于原点的对称等比变换。

旋转

CA_EXTERN CATransform3D CATransform3DMakeRotation (CGFloat angle, CGFloat x,

    CGFloat y, CGFloat z)

angle:旋转的弧度,所以要把角度转换成弧度:角度 * M_PI / 180。

x:向X轴方向旋转。值范围-1 --- 1之间

y:向Y轴方向旋转。值范围-1 --- 1之间

z:向Z轴方向旋转。值范围-1 --- 1之间

翻转

CA_EXTERN CATransform3D CATransform3DInvert (CATransform3D t)

仿射

CA_EXTERN CGAffineTransform CATransform3DGetAffineTransform (CATransform3D t)

 

posted @ 2016-03-04 11:55  幻想无极  阅读(202)  评论(0编辑  收藏  举报