• Core Animation笔记(变换)


    1.仿射变换

    CGAffineTransformMakeScale : 

    CGAffineTransformMakeTranslation

    CGAffineTransformMakeRotation(CGFloat angle)

      CGAffineTransform scaleTrans =  CGAffineTransformMakeScale(1.2, 1.2);
       
        CGAffineTransform tanslation = CGAffineTransformMakeTranslation(0, 100);
      
        //复合两个变换受,第二个受到第一个影响,所以这里位移小于100
        CGAffineTransform compact = CGAffineTransformConcat(scaleTrans, tanslation  
        
        self.imgView.layer.affineTransform = compact;
        //生成一个初始化的空值 单位矩阵
        CGAffineTransform indentity = CGAffineTransformIdentity;
        indentity = CGAffineTransformRotate(indentity, M_PI/2);
        //这里是右移 但实际效果是左移动,因为在之前做个旋转变换,上个变换会影响到下个变换,也就是说位移变换也要旋转90度相当于向左移!
        indentity = CGAffineTransformTranslate(indentity, 0, 200) ;
    self.imgView.layer.affineTransform
    = indentity;

    2.3D 效果

      //透视效果
        CATransform3D indentity3d = CATransform3DIdentity;
        //设置m34来设置透视效果(看上去有立体感)
        indentity3d.m34 = -1.0/500;
        indentity3d = CATransform3DRotate(indentity3d, M_PI/4, 0, 1, 0);
        self.imgView.layer.transform = indentity3d;
        //是否绘制背面图形,默认YES 即图层的背面是正面的镜像
        self.imgView.layer.doubleSided = true;
    
        //为子类图层添加变换
        self.containerView.layer.sublayerTransform = indentity3d;
  • 相关阅读:
    接口设计安全
    PHP通过OpenSSL生成证书、密钥并且加密解密数据,以及公钥,私钥和数字签名的理解
    OpenSSL使用小结
    sql的三种去重
    关于if语句&&运算符先判断空异常
    关于数据库可为null的datetime 字段
    sql server去重
    asp.net updatepanel 局部更新后调用js
    级联 -- 逻辑
    关于滑动验证的思路构思
  • 原文地址:https://www.cnblogs.com/cnman/p/10702012.html
Copyright © 2020-2023  润新知