在Quartz中旋转图像?图像是颠倒的! (苹果手机)

时间:2010-04-05 14:09:57

标签: iphone objective-c image rotation quartz-graphics

  • 我不想改变整个环境。

我正在用Quartz制作一款游戏,而且我正在用线条,小数和椭圆来绘制我的播放器。

然后我有diamong.png,我在屏幕的左上角以0,0渲染。

问题是......

它呈现颠倒!

如何将它旋转180度?

以下是我的一些代码:

CGImageRef diamondImage = CGImageRetain([UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"Diamond.png" ofType:nil]].CGImage);
CGContextDrawImage(context, CGRectMake(0, 0, 32, 24), diamondImage);

如果有任何帮助,我正在使用横​​向模式,右侧有主页按钮。它在我的.plist和我的ViewController的

中定义
  

-shouldAutorotateToInterfaceOrientation:interfaceOrientation:

我如何旋转/转换它?

1 个答案:

答案 0 :(得分:5)

为什么不使用

[[UIImage imageWithContentsOfFile:…] drawInRect:CGRectMake(0, 0, 32, 24)];

?这会照顾你的坐标变换。


如果必须使用CGContextDrawImage,则转换整个上下文是唯一的方法。您可以使用以下命令恢复到原始状态:

CGContextSaveGState(context);
// transform ...
// draw ...
CGContextRestoreGState(context);