在 Quartz 中旋转图像?图片颠倒了! (iPhone)
- 我不想改变整个环境。
我正在用 Quartz 制作一个游戏,并用直线、矩形和椭圆来绘制我的玩家。
然后我在屏幕左上角的 0,0 处渲染了diamong.png。
问题是......
它呈现颠倒!
我怎样才能将它旋转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:
我将如何旋转/变换它?
- I don't want to transform the ENTIRE context.
I'm making a game with Quartz, and I'm drawing my player with lines, rects and ellipses.
And then I have diamong.png which I rendered at 0,0 in the top left of the screen.
Problem is...
It renders upside down!
How would I rotate it 180 degrees?
Here's some of my code:
CGImageRef diamondImage = CGImageRetain([UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"Diamond.png" ofType:nil]].CGImage);
CGContextDrawImage(context, CGRectMake(0, 0, 32, 24), diamondImage);
If it's of any help, I'm using Landscape mode, with home button to the right. It's defined both in my .plist, and in my ViewController's
-shouldAutorotateToInterfaceOrientation:interfaceOrientation:
How would I rotate/transform it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为什么不使用
?这会为您处理坐标变换。
如果必须使用CGContextDrawImage,则转换整个上下文是唯一的方法。您可以使用以下方法恢复到原始状态:
Why not use
? This take cares of the coordinate transforms for you.
If
CGContextDrawImage
must be used, transforming the entire context is the only way. You can restore to the original state using: