struct CATransform3D

{

CGFloat m11(x轴缩放), m12(y轴切变), m13, m14(x轴拉伸);

CGFloat m21(x轴切变), m22(y轴缩编), m23, m24(向y轴拉伸);

CGFloat m31, m32, m33, m34;

CGFloat m41(x轴平移), m42(y轴平移), m43(z轴平移), m44(放大);

};

举例:

对照图

UIImageView *img = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];

img.image = [UIImage imageNamed:@"11"];

[self.view addSubview:img];

修改图

UIImageView *caimg = [[UIImageView alloc]initWithFrame:CGRectMake(100, 200, 100, 100)];

caimg.image = [UIImage imageNamed:@"11"];

[self.view addSubview:caimg];

1、平行移动

CATransform3DMakeTranslation(tx,ty,tz)

tx:x轴方向移动,右移为正数

ty:y轴方向移动,下移为正数

tz:z轴方向移动,外移为正数

CATransform3D translation = CATransform3DMakeTranslation(0.0, 80.0, 5.0);

caimg.layer.transform = translation;

2、缩放

CATransform3DMakeScale(CGFloat sx, CGFloat sy, CGFloat sz)

sx:x轴方向缩放,大于1放大。小于1缩小

sy:y轴方向缩放,大于1放大。小于1缩小

sz:z轴方向缩放,大于1放大。小于1缩小

CATransform3D scale = CATransform3DMakeScale(2, 2, 5);

caimg.layer.transform = scale;

3、旋转

CATransform3DMakeRotation (CGFloat angle, CGFloat x,CGFloat y, CGFloat z)

angle:旋转角度

x:围绕x轴旋转,取值范围-1~1

y:围绕y轴旋转,取值范围-1~1

z:围绕z轴旋转,取值范围-1~1

CATransform3D rotation = CATransform3DMakeRotation(M_PI/3, 1, 1, 1); caimg.layer.transform = rotation;

4、复合行

CATransform3DIsIdentity (CATransform3D t)

t:CATransform3D类型,可以附加

CATransform3DTranslate (CATransform3D t, CGFloat tx,

CGFloat ty, CGFloat tz)

CATransform3DScale (CATransform3D t, CGFloat sx,

CGFloat sy, CGFloat sz)

 

最新文章

  1. Windows快捷键
  2. oracle使用DataBase Configuration Assistant创建、删除数据库
  3. 第23/24周 临时数据库(TempDb)
  4. Python时间处理之time模块
  5. iOS运行时 -- Runtime(摘抄自网络)
  6. x2go
  7. 【HDOJ】2333 Assemble
  8. 如何在 Windows上编译Objective-C
  9. 从零开始学安全(十六)● Linux vim命令
  10. 重装mysql后导致Navicat连接失败
  11. PyQt5学习笔记----标准文件打开保存框QFileDialog
  12. Fiddler抓取指定域名
  13. iterm2字符输入换行遮挡问题
  14. (转)Maven学习总结(二)——Maven项目构建过程练习
  15. oracle 如何查看oracle数据库版本
  16. mysql的OFFSET实现分页
  17. poj 3348 Cows 凸包 求多边形面积 计算几何 难度:0 Source:CCC207
  18. SSH 密钥登录 SecureCRT
  19. 关于shared pool的深入探讨(六)-高Latch竞争案例
  20. CommonJs/ES6/AMD模块的用法以及区别

热门文章

  1. WPF 中的OpenFileDialog和 OpenFolderDialog
  2. ORACLE 导出表结构及备注
  3. CCSUOJ评测系统——第四次scrum冲刺
  4. JQuery-学习。
  5. C# 中 DataTable 使用详解。
  6. KT_登录_流程图
  7. Vue2学习笔记:数据交互vue-resource
  8. 关于easyUI的一些js方法
  9. uml各类图
  10. memcache知识梳理