美文网首页
ios transform 平移 缩放 旋转 CGAffi

ios transform 平移 缩放 旋转 CGAffi

作者: 两个小棉袄 | 来源:发表于2019-03-10 16:40 被阅读0次

主要由这几个方法

CGAffineTransformMakeTranslation(平移)

CGAffineTransformMakeScale(缩放)

CGAffineTransformMakeRotation(旋转)

CGAffineTransformIdentity(还原到之前的状态)

另外还有几个叠加 ,大致意思是在一个transfrom基础上再做一次transform 

CGAffineTransformTranslate

CGAffineTransformScale

CGAffineTransformRotate

接下来我们看下矩阵,这个是核心。

首先了解下矩阵的基础知识,矩阵乘法如图1

图1

矩阵乘法有个前提条件,AB的话,  A的列需要和B的行数相等。

那么我们来看,transform 怎么用到矩阵的,如图2

图2

然后利用公式尽行套用,发现

CGAffineTransformMake(CGFloat a,CGFloat b,CGFloat c,CGFloat d,CGFloat tx,CGFloat ty)

平移:

如果 c,b,d =0,a=1  那么 tx 就是图形按照x轴移动的距离,因此我们可以这样来表示x轴平移。

CGAffineTransformMake(1,0,0,1,100,0)  ;

同理y轴平移的话

CGAffineTransformMake(1,0,0,1,0,100)  ;

那么,x  y 轴同时移动呢?你可以自己写下试试看。

再看缩放:

如果b、d、tx、ty = 0,a 、d = 2,   那么新坐标x' = 2x,y' = 2y;

CGAffineTransformMake(2,0,0,2,0,0)

你也可以试试,a  和  d 用不同的值,看看效果。

最后我们看下旋转:

CGAffineTransformMake(CGFloat( cos(M_PI_4) ), CGFloat( sin(M_PI_4) ), -CGFloat( sin(M_PI_4) ), CGFloat( cos(M_PI_4) ), 0, 0) 

这里用到sin  cos 等函数,原理和上面一样。

例子中用的都是  CGAffineTransformMake 方法,

我们直接用 会更方便。

CGAffineTransformMakeTranslation(100,100)

CGAffineTransformMakeScale(2,2)

CGAffineTransformMakeRotation(M_PI_4); 

完毕。

相关文章

  • ios transform 平移 缩放 旋转 CGAffi

    主要由这几个方法 CGAffineTransformMakeTranslation(平移) CGAffineTra...

  • # 2D转换模块 transform(旋转/缩放/平移)

    # 2D转换模块 transform(旋转/缩放/平移) # 形变中心 transform-origin # 旋转...

  • UIView的transform属性

    transform属性作用:给我们的控件做一些形变,(平移,缩放,旋转) 平移 缩放 旋转 计算方式 transf...

  • transform

    transform UIView的属性形变操作(缩放、旋转、平移) .transform 是CGAffineTra...

  • 第十四章 transform样式

    一,transform transform: 可以使元素平移,缩放,倾斜,位置 1.平移 2.复合样式写法.旋转...

  • iOS学习笔记(4):transform

    transform 控件的形变(所有控件都有transform属性) transform有什么作用? 平移 旋转 缩放

  • UIView的transform属性及使用案例

    transform属性作用:给我们的控件做一些形变,(平移,缩放,旋转)移动 缩放 旋转

  • transform 要点

    1.transform是UIView的属性,主要用于平移,旋转和缩放。 2.平移,旋转和缩放是基于锚点。系统表现动...

  • CSS-动画

    动画 transform变换 对元素进行平移,旋转,缩放,而对其他元素无影响 translate平移,rotate...

  • ReactNative style属性

    React Native - transform样式的使用详解(平移、缩放、旋转、倾斜等图形变换) 1,平移(tr...

网友评论

      本文标题:ios transform 平移 缩放 旋转 CGAffi

      本文链接:https://www.haomeiwen.com/subject/errzkqtx.html