日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CGAffineTransform

發布時間:2023/12/9 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CGAffineTransform 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//移動效果 CGAffineTransform CGAffineTransformMakeTranslation ( CGFloat tx, CGFloat ty );CGAffineTransform CGAffineTransformTranslate ( CGAffineTransform t, CGFloat tx, CGFloat ty );//旋轉效果 CGAffineTransform CGAffineTransformMakeRotation ( CGFloat angle );CGAffineTransform CGAffineTransformRotate ( CGAffineTransform t, CGFloat angle );//縮放效果 CGAffineTransform CGAffineTransformMakeScale ( CGFloat sx, CGFloat sy );CGAffineTransform CGAffineTransformScale ( CGAffineTransform t, CGFloat sx, CGFloat sy );//反轉效果 CGAffineTransform CGAffineTransformInvert ( CGAffineTransform t );//只對局部產生效果 CGRect CGRectApplyAffineTransform ( CGRect rect, CGAffineTransform t );//判斷兩個AffineTrans是否相等 bool CGAffineTransformEqualToTransform ( CGAffineTransform t1, CGAffineTransform t2 );//獲得Affine Transform CGAffineTransform CGContextGetUserSpaceToDeviceSpaceTransform ( CGContextRef c );//下面的函數只起到查看的效果,比如看一下這個用戶空間的點,轉換到設備空間去坐標是多少CGPoint CGContextConvertPointToDeviceSpace ( CGContextRef c, CGPoint point );CGPoint CGContextConvertPointToUserSpace ( CGContextRef c, CGPoint point );CGSize CGContextConvertSizeToDeviceSpace ( CGContextRef c, CGSize size );CGSize CGContextConvertSizeToUserSpace ( CGContextRef c, CGSize size );CGRect CGContextConvertRectToDeviceSpace ( CGContextRef c, CGRect rect );CGRect CGContextConvertRectToUserSpace ( CGContextRef c, CGRect rect );

?

了解動畫需要先了解仿射變換,先在View中添加一個按鈕和一個圖片, 通過這演示常見的變換,直接上碼:

#import "ViewController.h"#define M_PI 3.14159265358979323846264338327950288?
#define M_PI_2 1.57079632679489661923132169163975144?
#define M_PI_4 0.785398163397448309615660845819875721 @interface ViewController () {UIButton *btn;UIImageView *imgview; } @end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];btn=[UIButton buttonWithType:UIButtonTypeSystem];btn.frame=CGRectMake(30, 30, 50, 50);btn.backgroundColor=[UIColor redColor];[btn setTitle:@"按鈕" forState:UIControlStateNormal];[btn addTarget:self action:@selector(btnclick:) forControlEvents:UIControlEventTouchUpInside];[self.view addSubview:btn];imgview=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"test.jpg"]];imgview.frame=CGRectMake(100, 100, 120, 120);[self.view addSubview:imgview];}

?

?一.平移變換,當我實驗平移時,將下面代碼放在按鈕點擊方法中,第一個方法第一次點擊有效,第二個是每次點擊都會平移,第三個不會平移

//平移變換imgview.transform=CGAffineTransformMakeTranslation(10, 10); //每次移動參照點都是初始點imgview.transform=CGAffineTransformTranslate(imgview.transform, 20, 20);//平移參照第一個參數的點imgview.transform=CGAffineTransformIdentity;//初始點

?二、旋轉

//旋轉imgview.transform=CGAffineTransformMakeRotation(M_PI/4);//旋轉參照初始值 正數順時針 負數逆時針imgview.transform=CGAffineTransformRotate(imgview.transform, -M_PI/4);//旋轉參照第一個參數的值

?三、縮放

// 縮放imgview.transform=CGAffineTransformScale(imgview.transform,0.8,0.8);//在第一個參數的基礎上縮放 第二三參數1時為正常大小imgview.transform=CGAffineTransformMakeScale(0.5,0.5);//在原視圖的基礎上縮放

?四、翻轉

//翻轉// CGAffineTransform DefaultAffineTransform =CGAffineTransformMake(1, 0, 0, 1, 0, 0);//默認// imgview.transform=CGAffineTransformInvert(imgview.transform); //調用此行代碼并不會產生翻轉效果,因為恒等矩陣*恒等矩陣還是恒等矩陣,這樣就沒有變化CGAffineTransform AffineTransform =CGAffineTransformMake(0, 1, 1, 1, 1, 0);imgview.transform=CGAffineTransformInvert(AffineTransform);

五、合并

//合并 將兩個仿射合并成一個仿射效果 // CGAffineTransform AffineTransform1 =CGAffineTransformMakeScale(0.5,0.5);CGAffineTransform AffineTransform1=CGAffineTransformScale(imgview.transform,0.8,0.8);CGAffineTransform AffineTransform2 =CGAffineTransformMakeRotation(M_PI/4);CGAffineTransform AffineTransform3=CGAffineTransformConcat(AffineTransform1,AffineTransform2);CGAffineTransform AffineTransform4 =CGAffineTransformMake(0, 1, 1, 1, 1, 0);imgview.transform=CGAffineTransformConcat(AffineTransform3,AffineTransform4);

?六、判斷是否相同

CGAffineTransform DefaultAffineTransform =CGAffineTransformMake(1, 0, 0, 1, 0, 0);CGAffineTransform DefaultAffineTransform1 =CGAffineTransformMake(1, 0, 0, 1, 0, 0); // CGAffineTransform AffineTransform1 =CGAffineTransformMakeScale(0.5,0.5);bool flag=CGAffineTransformEqualToTransform(DefaultAffineTransform, DefaultAffineTransform1);NSLog(@"%d",flag);

?

轉載于:https://www.cnblogs.com/5ishare/p/4384177.html

總結

以上是生活随笔為你收集整理的CGAffineTransform的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩精品电影一区二区 | 亚洲国产精品视频在线观看 | 一区二区视频在线观看免费 | 国产在线一区二区 | 欧美色图久久 | 女人av在线 | 欧美精品在欧美一区二区 | 欧美亚洲色图视频 | 青娱乐国产在线视频 | 亚洲2022国产成人精品无码区 | 影音av在线| 亚洲精品国产精品乱码不99热 | 日韩理论在线 | 国产精品入口麻豆 | 亚洲人成色777777精品音频 | 国产传媒精品 | 久久久久久久久久成人 | 成年人免费看的视频 | 草久在线观看 | 日本人妻一区二区三区 | 日批网站在线观看 | 中文字幕成人在线观看 | 久草视频在线播放 | 欧美少妇毛茸茸 | 日色视频 | 久在线观看 | 高潮在线视频 | 麻豆视频播放 | 国产精品久久久午夜夜伦鲁鲁 | 伊人激情综合网 | 午夜精品久久99蜜桃的功能介绍 | 日韩免费看片 | 中文字幕免费在线视频 | 成人性生交大片免费看96 | 男人天堂久久久 | 女人扒开双腿让男人捅 | 色爽黄 | 国产三级精品视频 | 欧美色图12p | 亚洲一级网 | 毛片中文字幕 | 黑人巨大精品人妻一区二区 | 国产一区二区三区四区在线观看 | 久久亚洲色图 | 自拍偷拍一区二区三区 | 亚洲人人夜夜澡人人爽 | 懂色av蜜臀av粉嫩av分享吧最新章节 | 最好看的中文字幕 | 日本精品一区视频 | 韩国三级视频在线观看 | 久热中文字幕在线 | 亚洲www在线| 欧美二级片 | 久久精品视频91 | 国产成人无码精品久在线观看 | 草久在线 | 穿越异世荒淫h啪肉np文 | 一卡二卡在线 | 亚洲理论片 | 天天草av | 国产乱子伦精品无码专区 | 国产精品视频在线观看 | 69国产视频 | 噜啪啪 | 久久福利影院 | 欧美极品少妇xxxxⅹ喷水 | 波多野吉衣中文字幕 | 韩日av| 日韩欧美字幕 | 香蕉啪啪网 | 91在线高清 | 美女久久久久久久久久 | 无码国产精品96久久久久 | 激情网五月天 | 老女人性视频 | 最近中文字幕在线观看视频 | 色欲av无码一区二区三区 | 性xxxx欧美老肥妇牲乱 | 先锋影音av资源站 | 免费欧美一级视频 | 日本高清免费不卡视频 | 成人污在线观看 | 国产一卡在线 | 国产欧美日韩精品区一区二污污污 | 成人免费av片 | 成人免费视频网站在线观看 | 印度毛茸茸 | 天天干天天操心 | 久草福利资源站 | 亚洲图片欧美在线看 | 欧美精品 在线观看 | 91麻豆成人精品国产 | 亚洲久久久久 | 99网站 | 国产福利视频一区二区 | xxxxx日韩| 亚洲色图国产 | 成人在线观看网站 | 午夜免费 |