CATransform3D 透视的形变效果

翻转透视效果
CATransform3D trans = CATransform3DIdentity;
trans.m34 = 1.0/100;
trans = CATransform3DRotate(trans, 15.0f * M_PI/180.0f, 1, 0, 0);
效果如下:
这里写图片描述

transform的结构如下:
struct CATransform3D
{
CGFloat m11, m12, m13, m14;
CGFloat m21, m22, m23, m24;
CGFloat m31, m32, m33, m34;
CGFloat m41, m42, m43, m44;
};
不好理解4X4矩阵每个参数的含义,只能先记住几个基本的用法
通过设置m34可以用来设置layer(view)的透视效果,用白话就是近大远小,但是需要和CATransform3DRotate(旋转)配合起来使用才能看出效果,因为只有沿X、Y轴旋转之后,视图面和观察者才能产生一个角度,View上面的点才有远近之分(相对观察者)。

m34默认为0(不形变),如果将上面m34的值设置越大那么透视效果越明显,
比如将m34 = 1.0 / 70, 效果如下:
这里写图片描述
发现图片倾斜得更加厉害,透视效果更加明显

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值