什么样的变换会给我想要的结果图像?

时间:2013-07-10 00:23:20

标签: ios uiimageview transformation cgaffinetransform affinetransform

真的很简单。我有一个UIImageView:

start

我希望应用仿射变换来获取此图像:

end

然而,有问题的特定变换使我无法理解。旋转180°让我知道:

transform = CGAffineTransformMakeRotation(M_PI);
// similarly, CGAffineTransformMakeScale(-1, -1);

rotate

这显然相当遥远。翻译也存在问题:

transform = CGAffineTransformMakeTranslation(x, y);

translate

反射线y = x然后旋转180°让我知道:

transform = CGAffineTransformMake(0, 1, 1, 0, 0, 0);
transform = CGAffineTransformRotate(M_PI);

reflect-rotate

哪个更近,但仍然没有。有什么明显的东西让我失踪,或者这真的很复杂?有谁知道我在这里寻找什么样的变换?

修改

Twitter的反馈表明,仿射变换不是必须走的路。在一天结束时,我只想要得到的图像,因此非常感谢任何建议的成功路线!

1 个答案:

答案 0 :(得分:1)

无论你是否意识到,你都试图移动一个精灵。没有转变可以移动明星并保持背景。您的选择是: - 制作大背景并将其剪辑到最后,以便翻译起作用 - 在单独的背景图像上制作精灵图像。如果您使用的是iOS7,则可能需要使用Sprite Kit。