iOS app非视网膜和视网膜图像的概念

时间:2013-07-19 04:45:55

标签: iphone ios retina-display

我问这个问题仅仅是为了获取信息,并在iOS应用程序(Retinanon-retina设备)中清除我对图像的概念。

我目前正在做的是

当我开发一个iPhone应用程序时,我必须使用UIButtonInterface builder上显示一个图像让我说两个图像让我们假设以下尺寸的submit.png按钮图像

  1. 100x100 px(submit.png)
  2. 200x200 px(submit@2x.png)用于视网膜显示
  3. Interface builder中,我会设置UIButton 100x100像素的大小,它的效果非常好。

    问题:

    为什么我们不放置单个图像让我们说一下submit.png

    1. 200x200 px(submit.png)
    2. 并在UIButton中设置interface builder尺寸为100x100像素,同时在retinanon-retina设备中使用相同的图像。

      使用两幅图像而不是一幅视网膜尺寸的实际原因是什么?

      另一个类似的问题,

      iPhone 5仅在retina展示时可用,但我们必须将Default图片设为Default-568h@2x.png。为什么在2x?

5 个答案:

答案 0 :(得分:9)

在ios图像概念中,如果您阅读此文档Custom Icon and Image Creation Guidelines

,也会清楚

例如,如果要创建图像

100 x 100像素所以必须使用 163分辨率ppi submit.png NON-retina device

200 x 200 px 因此必须 326分辨率ppi submit@2x.png Retina device

FOR iPad: -

400 x 300 px 因此必须 264分辨率ppi submit@2x~ipad.png Retina iPad device

200 x 150像素因此必须使用 132分辨率ppi submit~ipad.png Non-retina iPad device

看看这张图片: -

enter image description here

来自This

的图片来源

当我们想要为iPad和iPhone指定不同版本的图像时,我们灌输了@ 2x。包含@ 2x修改器用于高分辨率图像是新的,让系统知道图像是标准图像的高分辨率变体。

这是操作系统调整窗口大小以填充iPhone 5显示所需的关键更改。已经对此进行了writeup以及您可能需要进行的其他与大小相关的调整。

希望这是图像分辨率及其大小的有用信息。

答案 1 :(得分:4)

使用非视网膜图像的主要目的是由于所需的缩小操作,旧设备的性能增强和图像质量。

因此,对于较旧的设备性能,您应该使用非视网膜图像。

答案 2 :(得分:1)

为什么我们必须提供2张图片的原因是因为仍有人在运行不支持视网膜显示的早期设备。当人们跑视网膜时,它们缺乏像素量,因此我们提供正常的量。 iphone 5在图像文件中需要@ 2x的是因为@ 2x文件名是处理视网膜显示图像的标准惯例。

这就是为什么当你问为什么我们不把200x200图像放在100x100按钮中时。好吧,如果你正在运行视网膜设备,那个按钮中的图像看起来就像你画的那样;但是,如果你运行像3gs这样没有视网膜的东西,那么那个按钮中的图像很可能会变得非常块状,或者模糊,因为像素与设备的比例不匹配。

希望有助于清除任何事情!

答案 3 :(得分:1)

是的,您只能将视网膜图像用于视网膜和非视网膜设备。如果您在imageviews,按钮等中使用它们,请将它们scaletofill/aspectfill/aspectfit或您想要的任何内容。

但问题在于,不必要的较大尺寸的图像将被加载到内存中,并且图像的大小调整也需要一些处理。

使用单独的图像会增加App Bundle的大小,但会降低应用程序在运行时的实际ram使用量。

答案 4 :(得分:-1)

1-如果您想支持视网膜和非视网膜设备的应用,您需要遵循文件名标准。如果您只想支持视网膜设备,则无需添加默认图像(button.png)。如果你想同时支持视网膜和非视网膜设备,需要添加两个图像以及界面构建器,无需添加像@ 2x这样的全名。您只需添加图像的名称。主要基础是两个图像的名称应该相同。 Ex: Non retina-->Button.pngRetina-->Button@2x.pngIE-->Button

2 - iPhone5仅具有视网膜显示功能。因此,如果您为iPhone5添加默认图像,它将自动在iPhone5设备中运行。 Apple遵循这些标准。所以我们需要遵循。

注意: Xcode会自动处理所有这些类型的图片。