iOS开发 CGAffineTransform 让图片旋转, 旋转后获得图片旋转的角度

时间:2023-03-08 17:29:17
iOS开发 CGAffineTransform 让图片旋转, 旋转后获得图片旋转的角度

1.让图片旋转

UIImageView *imageView = [[UIImageView alloc]init];
imageView.frame = CGRectMake(50, 50, 200, 200);
imageView.image = [UIImage imageNamed:@"460.jpg"];
CGAffineTransform transform= CGAffineTransformMakeRotation(M_PI*0.38);
imageView.transform = transform;//旋转

/*关于M_PI
#define M_PI 3.14159265358979323846264338327950288
其实它就是圆周率的值,在这里代表弧度,相当于角度制 0-360 度,M_PI=180度
旋转方向为:顺时针旋转

2.旋转后,获得这个图片旋转的角度

CGAffineTransform _trans = imageView.transform;
CGFloat rotate = acosf(_trans.a);
// 旋转180度后,需要处理弧度的变化
if (_trans.b < 0) {
rotate = M_PI -rotate;
}
// 将弧度转换为角度
CGFloat degree = rotate/M_PI * 180;