zoukankan      html  css  js  c++  java
  • 自我总结- CGAffineTransform

    在应用中我们经常需要做一些仿射变换 可以用于 平移、旋转、缩放变换路径;

    View有一个属性transform 可以指定一个 CGAffineTransform 即可完成仿射变换

    1.平移变换

    //  x方向移动一百 y不动
        CGAffineTransform transform= CGAffineTransformMakeTranslation(100,0);
    //  viewanmination是需要进行变换的View
        self.viewanmination.transform=transform
    //   系统提供了一个便利方法直接指定 两种方法效果一样
    
    //    CGAffineTransformTranslate(<#CGAffineTransform t#>, <#CGFloat tx#>, <#CGFloat ty#>)
    
    //    self.viewanmination.transform=CGAffineTransformTranslate(self.viewanmination.transform, 100, 0);

    2 缩放

    //x方向缩小0.5 y缩小0.5
        CGAffineTransform transt= CGAffineTransformMakeScale(0.5, 0.5);
        self.viewanmination.transform=transt;
        
       self.viewanmination.transform=CGAffineTransformScale(self.viewanmination.transform, 0.5, 0.5);

    3 旋转

    //输入需要旋转的角度
        CGAffineTransform trans=CGAffineTransformMakeRotation(M_PI_4);
        self.viewanmination.transform=trans;
        self.viewanmination.transform=CGAffineTransformRotate(self.viewanmination.transform, M_PI_4);

    当然这三种效果也可以组合着用 需要借助CGAffineTransformIdentity 这个理解为初始化即可 如下代码实现了旋转和缩放

        
    //初始化坐标
        CGAffineTransform trans=CGAffineTransformIdentity;
    //旋转;
        trans=CGAffineTransformRotate(trans, M_PI_4);
    // 缩放
        trans=CGAffineTransformScale(trans, 0.5, 0.4);
        self.viewanmination.transform=trans;
  • 相关阅读:
    MySQL忘记root密码的找回方法
    MySQL中的备份和恢复
    MySQL中的锁(表锁、行锁)
    设计模式之: 策略模式
    MySQL流程函数
    高效查看MySQL帮助文档的方法
    php动态获取函数参数
    设计模式之: 代理模式
    网站性能优化指标
    设计模式之: 状态模式
  • 原文地址:https://www.cnblogs.com/luguojiangshi/p/5302040.html
Copyright © 2011-2022 走看看