在iPhone上使用一张照片显示1x和2x图像



我正在制作一个从服务器下载最新内容的漫画查看器应用程序。它下载一个文件,而不管屏幕大小。我想做的是使这个文件在两个屏幕上都能正常工作。

这个过程是什么?我应该如何调整照片的大小?我遇到的问题是,图像是视网膜屏幕大小的,但iPhone不能这样理解它们。

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

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

一般来说,你应该在没有视网膜显示的设备上使用低分辨率的图像,否则你会浪费宝贵的内存。

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

UIImage resize(缩放比例)

对于retina,你需要设置UIImage的比例,让ios知道它使用的屏幕大小(你可以使用UIImage的initWithCGImage:scale:orientation:方法设置这个)。

最新更新