针对较新的视网膜屏幕优化图像尺寸

时间:2014-12-17 19:40:15

标签: ios objective-c uiimageview

我需要实现一些照片上传功能,但由于图像的像素/尺寸维度,我有点困惑。我需要显示一个方形裁剪图像,其尺寸在IB中为320 x 320.

我做了一些研究,但无法找到确切的答案。我已经检查过Instagram,它到处使用640 x 640像素的图片。怎么可能? iPhone 6 Plus的屏幕分辨率大于全高清,屏幕宽度为1136像素,而Instagram图像宽度为640像素(并且没有像素化)。我不认为他们分别为每个设备保存图像。

所以UIImageView可以像这样在视网膜屏幕上显示非视网膜图像吗?或者640 px足够的原因是什么?

1 个答案:

答案 0 :(得分:1)

UIImageView可以缩放传递给它的图像。因此,如果您要将640x640像素图像传递到屏幕上显示较大的UIImageView,则会缩放以适当调整。它会向上扩展,当你以这种方式显示时你会失去质量。

对于IB尺寸为320x320点,它不会直接转换为像素。较旧的设备以这种方式工作,但较新的(视网膜)设备缩放为2倍(包括iPhone 6)。所以IB中的320x320 pt UIImageView实际上会以640x640像素渲染。 6 Plus渲染为3x,因此为960x960像素。

我不确定你是如何断定Instagram在所有设备上都使用640x640,但如果是这样的话,6 Plus会将图像缩放到960x960像素并且质量下降。在大多数情况下,损失可能并不明显,但我猜他们会为更大的屏幕请求更大的图像。

http://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions