在 iphone 4 视网膜显示屏中显示图像

Posted

技术标签:

【中文标题】在 iphone 4 视网膜显示屏中显示图像【英文标题】:display image in iphone 4 retina display 【发布时间】:2011-02-10 06:22:11 【问题描述】:

我在 iphone 4 中显示高分辨率图像,我将图像视图帧大小设置如下: imageFrameNormal.size.width = 470; imageFrameNormal.size.height = 625;

但它显示全屏而不是这个尺寸。所以请任何人建议我如何以合适的尺寸显示图像。 我正在尝试在模拟器中检查它。

谢谢

【问题讨论】:

【参考方案1】:

您必须在视网膜和普通显示器上使用相同的尺寸。例如,您有大小为 100x100 的图像视图。在 Retina 设备上,您应该使用相同的 100x100 尺寸(代码中没有变化)。但是,您最好使用高分辨率图像(2 倍大小)。为此,您需要正确命名: image.png - 正常大小的图片 image@2x.png - 2x 大小的图像。

当你打电话时

UIImage* img = [UIImage imageNamed: @"image.png"];

image.png 将用于正常显示,而 image@2x.png 用于视网膜(ios​​ 会自动执行)。

【讨论】:

【参考方案2】:

视网膜显示器的坐标系不是以像素为单位,而是以“点”为单位。 iPhone 显示屏,无论是 Retina 还是旧版,都将始终为 320x480 点。当与框架、大小、原点等任何参数进行交互时,您需要记住使用点而不是像素。操作系统将为您处理点和像素之间的“转换”。

有关更详细的说明,请参阅Drawing and Printing Guide for iOS 中的点与像素

【讨论】:

以上是关于在 iphone 4 视网膜显示屏中显示图像的主要内容,如果未能解决你的问题,请参考以下文章

如何处理 iPhone 5 视网膜显示检查?

iPhone 模拟器不显示 iphone 5 兼容图像

在 iPhone SDK 中检测视网膜屏幕/iPhone 4

iPhone模拟器显示尺寸错误的图像

视网膜显示器兼容性

来自 AVFoundation 的 iPhone 5 视网膜显示纵横比