Core Animation笔记(变换)
2024-08-22 13:19:03
1.仿射变换
CGAffineTransformMakeScale :
CGAffineTransformMakeTranslation
CGAffineTransformMakeRotation(CGFloat angle)
CGAffineTransform scaleTrans = CGAffineTransformMakeScale(1.2, 1.2); CGAffineTransform tanslation = CGAffineTransformMakeTranslation(, ); //复合两个变换受,第二个受到第一个影响,所以这里位移小于100
CGAffineTransform compact = CGAffineTransformConcat(scaleTrans, tanslation self.imgView.layer.affineTransform = compact;
//生成一个初始化的空值 单位矩阵
CGAffineTransform indentity = CGAffineTransformIdentity;
indentity = CGAffineTransformRotate(indentity, M_PI/);
//这里是右移 但实际效果是左移动,因为在之前做个旋转变换,上个变换会影响到下个变换,也就是说位移变换也要旋转90度相当于向左移!
indentity = CGAffineTransformTranslate(indentity, , ) ;
self.imgView.layer.affineTransform = indentity;
2.3D 效果
//透视效果
CATransform3D indentity3d = CATransform3DIdentity;
//设置m34来设置透视效果(看上去有立体感)
indentity3d.m34 = -1.0/;
indentity3d = CATransform3DRotate(indentity3d, M_PI/, , , );
self.imgView.layer.transform = indentity3d;
//是否绘制背面图形,默认YES 即图层的背面是正面的镜像
self.imgView.layer.doubleSided = true; //为子类图层添加变换
self.containerView.layer.sublayerTransform = indentity3d;
最新文章
- WPF 中的image控件的Source如何赋值
- 【VC++技术杂谈005】如何与程控仪器通过GPIB接口进行通信
- DOS命令大全!
- C#:Func的同步、异步调用
- struts2 spring3.2 hibernate4.1 框架搭建 整合
- linux环境下libevent的使用
- SMS短信PDU编码
- tomcat maven book
- jQuery的toggle()的自动触发真烦人
- F01:金融学第一定律:时间的价值
- Struts2-整理笔记(五)拦截器、拦截器配置
- 在wamp集成环境下安装laravel5.2.*框架
- js eval函数写一个简单的计算器
- SVN服务器搭建及使用
- SQL 基础学习(1):下载DB Browser for SQLite. 下载graphviz(为了使用Rails ERD的前提)出现❌,已debug.
- Python3基础-函数实例学习
- Day10 Python基础之特殊函数(八)
- 定时自动从FTP服务器取数据脚本
- [转]Angular4 引用 material dialog时自定义对话框/deep/.mat-dialog-container
- pyspark数据准备