CGAffineTransformMakeRotation和CGAffineTransformMakeScale

时间:2013-06-17 20:07:06

标签: ios objective-c rotation scale cgaffinetransform

为什么以上只有一个在代码中起作用?

目前我正在使用以下内容......

image.transform = CGAffineTransformMakeRotation(M_PI/2.5);
image.transform = CGAffineTransformMakeScale(1.25, 1.25);

我的图像缩放到125%,就像第二行所说的那样,但它完全没有旋转。

当我翻转代码时说...

image.transform = CGAffineTransformMakeScale(1.25, 1.25);
image.transform = CGAffineTransformMakeRotation(M_PI/2.5);

我的图片已旋转但未缩放...

有没有办法在同一代码中使用两者

我的viewDidLoad方法中有这些。任何人都可以帮助我吗?

谢谢!

2 个答案:

答案 0 :(得分:6)

第二个不应该使用函数的Make再现。因此,你应该,例如:

CGAffineTransform transform = CGAffineTransformMakeScale(1.25, 1.25);
image.transform = CGAffineTransformRotate(transform, M_PI/2.5);

CGAffineTransform transform = CGAffineTransformMakeRotation(M_PI/2.5);
image.transform = CGAffineTransformScale(transform, 1.25, 1.25);

Creating an Affine Transformation Matrix函数与Modifying Affine Transformations函数进行对比。

答案 1 :(得分:0)

CGAffineTransformMake应用于单位矩阵,因此您正在旋转,但就像恢复身份并应用比例一样。使用CGAffineTransformMake ..仅用于第一次,第二次使用CGAffineTransform ...