在iPhone上为1x和2x图形使用单张照片

时间:2011-12-21 16:32:29

标签: iphone objective-c uiimage retina-display

我正在使用漫画查看器应用程序从服务器下载最新内容。无论屏幕比例如何,它都会下载单个文件。我想做的是让这个文件在两个屏幕上正常工作。

这是什么程序,我应该如何调整照片大小?我遇到的麻烦是图形是视网膜屏幕尺寸,但iPhone并没有这样解释它们。这意味着它们的显示量应该是原来的两倍。

2 个答案:

答案 0 :(得分:0)

CGImageRef cgImage = [myImage cgImage];
UIImage *retinaImage = [UIImage imageWithCGImage:cgImage scale:2.0 orientation:UIImageOrientationUp];

您还可以在图像编辑器中更改图像的dpi值,以使UIImage自动识别比例。

一般情况下,您应该在没有视网膜显示器的设备上使用分辨率较低的图像,否则会浪费宝贵的记忆。

答案 1 :(得分:0)

对于普通屏幕,您可以通过编程方式调整大小,通过示例向UIImage类添加比例类别,stackoverflow上有许多代码示例,如:

UIImage resize (Scale proportion)

对于视网膜,你需要设置UIImage的比例,让ios知道它的屏幕尺寸(可以使用initWithCGImage:scale:orientation:UIImage方法设置)。