iPhone - 使图像适应视网膜显示

时间:2011-03-16 21:17:36

标签: iphone cocoa-touch uikit retina-display

我有一个关于为iPhone 4的视网膜显示器更新我的应用程序图形的问题。

我将每个视图的分辨率保持在480 x 320点。

所以我想知道:假设我有一个100 x 50的UIImageView。 对于我的实际图像,我最好装载200 x 100像素@ 163 ppi或100 x 50像素@ 326 ppi?就“轻盈”而言,这是一回事吗?哪个是首选方式?

谢谢,你很棒

洛伦佐

3 个答案:

答案 0 :(得分:16)

1)如上所述,将UIImageView定义为100 x 50像素。

2)有一个100x50像素的图像文件“MyImage”,第二个图像文件是200x100像素,并将其命名为“MyImage @ 2x”。

3)在您的代码中,请参阅图像文件“MyImage”。

iOS会自动选择正确的图像。在没有视网膜显示器的旧设备(即iPhone 3GS)上,将使用“MyImage”文件。在具有视网膜显示器的较新设备上,将使用“@ 2x”版本。

答案 1 :(得分:0)

嗯好问题。

由于我不知道Apple如何检查图像,也许您应该加载200x100图像(通过使用@ 2x命名文件,如image@2x.png而不是image.png)。

但如果您尝试其他选项并做一些基准测试,请不要犹豫,告诉我们结果!

祝你好运

答案 2 :(得分:0)

如果我错了,请纠正我,我不是图形专家,但这是我对这个主题的理解:

PPI - 每英寸的像素(或点) - 它不是图像数据的属性,它是屏幕(硬件)的属性,理论上你并不真正控制它。换句话说,png文件没有描述每英寸要显示的点数,它只描述每个像素的颜色。

没有图像文件的PPI这样的东西。在决定图像的分辨率时,应该记住目标设备的PPI,以使其在屏幕上以正确的尺寸显示,而不必在软件中拉伸并失去清晰度。 1英寸屏幕上显示的100x100图像具有100ppi,2英寸屏幕上的相同图像将显示50ppi。

简而言之: 图像没有PPI,它们有分辨率,这就决定了文件的大小。