【发布时间】:2010-06-30 14:46:01
【问题描述】:
我使用以下代码从精灵中获取图像。除了 iPhone 4(高清版)之外,它在任何地方都可以正常工作。
- (UIImage *)croppedImage:(CGRect)rect {
CGImageRef image = CGImageCreateWithImageInRect([self CGImage], rect);
UIImage *result = [UIImage imageWithCGImage:image];
CGImageRelease(image);
return result;
}
iPhone 4 会自动加载高清版图像 (sprite@2x.png) 而不是 sprite.png。原始图像的比例为 2,但生成的图像的比例为 1,尺寸错误。
考虑到 iPhone 3G[s] 和 iPhone 4 的不同规模,如何处理这种行为?
我已经阅读了这个document,但是关于使用 CGImageCreateWithImageInRect 这里什么也没说。
【问题讨论】:
-
如果你能看看我的回答,我会很感兴趣。我确信有更好的方法来实现我们想要的。但在我看来,这里的正确答案并不重要。你能用上面的代码+带有比例的矩形翻译,看看它是否有效?
标签: iphone core-graphics iphone-4