CGAffineTransform几种常用函数
来源:互联网 发布:vue.js api中文文档 编辑:程序博客网 时间:2024/06/14 18:03
CGAffineTransform
是一种基于3×3矩阵进行几何变换的数据结构。母体可以理解为当前作几何变换的图形。坐标轴的偏移都是以iOS坐标系作为参照的,即(0,0)点在左上角。
1.CGAffineTransformCGAffineTransformIdentity;
自身大小,就像在矩阵的恒等变换中乘以一个对角为1的单位矩阵大小不发生变化。在这里它的作用是恢复母体的大小。例如,将一个view的transform属性经过各种变换之后形状位置都已经发生变化了。只要执行以下这个函数就可以让view回到原来的形状和位置。
2.CGAffineTransform CGAffineTransformMake ( CGFloat a, CGFloat b, CGFloat c, CGFloat d, CGFloat tx, CGFloat ty );
用于创建一个变换的母体,可以赋值给现有的view的transform属性。实际应用中很少用到。可以通过下列的方法直接创建需要变换的母体,然后返回给我们需要变换的view。
a: X轴方向的缩放,范围[0~1]
d: Y轴方向的,缩放[0~1]
b: 缩放参数
c: 缩放参数
tx: X轴方向的平移距离,
ty: Y轴方向的偏移距离。
3.CGAffineTransform CGAffineTransformMakeRotation ( CGFloat angle );
旋转变换,传入弧度值作为参数,以母体的中心作为原点旋转母体,通过赋值给需要变换的view的transform属性来实现旋转。iOS中正数代表顺时针,负数代表逆时针
4.CGAffineTransform CGAffineTransformMakeScale ( CGFloat sx, CGFloat sy );
缩放变换,以中心点为参考缩放母体
sx: 代表x轴方向缩放,参数范围[0~1]
sy: 代表y轴方向缩放,参数范围[0~1]
5.CGAffineTransform CGAffineTransformMakeTranslation ( CGFloat tx, CGFloat ty );
平移变换,以母体中心为参考平移
tx: X轴方向的平移距离
ty: Y轴方向的平移距离。
以上变换函数都是没有母体作为参数的,所以如果它们放在一起执行的话,只会看到最后一个函数的效果。那如果我们想让一个view既缩放又偏移又要旋转,怎么办呢?以下的函数表现的机会到了!
6.CGAffineTransform CGAffineTransformTranslate ( CGAffineTransform t, CGFloat tx, CGFloat ty );
平移变换,以传入的CGAffineTransformt参数作为母体进行平移变换,并返回变换后的母体。一般用于组合的几何变换。将上一个变换函数返回的母体作为这个函数的输入,得到组合变换母体的效果。这里有一点需要注意偏移的距离是以参入的母体参数最为参考的,而不是以一开开始的母体作参考。
7.CGAffineTransform CGAffineTransformScale ( CGAffineTransform t, CGFloat sx, CGFloat sy );
缩放变换,用法跟不带母体参数的类似,主要用于组合变换。
8.CGAffineTransform CGAffineTransformRotate ( CGAffineTransform t, CGFloat angle );
旋转变换,用法跟不带母体参数的类似,主要用于组合变换。
9.CGAffineTransform CGAffineTransformInvert ( CGAffineTransform t );
反转变换
10.bool CGAffineTransformIsIdentity ( CGAffineTransform t );
判断当前作为参数传入的(view 的 translate属性)母体跟原来的母体相比几何位置大小形状是否发生了变换。
0 0
- CGAffineTransform几种常用函数
- 常用几种窗口状态+常用函数
- CGAffineTransform相关函数
- CGAffineTransform相关函数
- CGAffineTransform相关函数
- CGAffineTransform相关函数
- CGAffineTransform相关函数
- CGAffineTransform相关函数
- CGAffineTransform相关函数
- CGAffineTransform相关函数1
- CGAffineTransform相关函数2
- CGAffineTransform相关函数
- CGAffineTransform相关函数
- CGAffineTransform相关函数
- CGAffineTransform相关函数
- CGAffineTransform相关函数
- CGAffineTransform相关函数
- CGAffineTransform函数旋转操作
- 81页第二题设计魔方
- Shell脚本中判断输入参数个数的方法
- 第六周项目4(3)-成员函数、友元函数和一般函数の区别
- 前言
- BZOJ 3196 Tyvj 1730 二逼平衡树(线段树套treap)
- CGAffineTransform几种常用函数
- 修改ubuntu系统时区
- cocos2dx在不同安卓机型下scrollview裁剪失败
- mac中的JDK安装路径
- C#链接Sql Server的Sql Helper
- Socket用法详解
- Android:调用系统分享功能
- java基础---JAVA中Random类
- JAVA--特殊的String类