新 iPhone 6和6 + 的图像分辨率,增加了@3x 支持?

我看过一些文章和讨论,比如 这里有一个给你关于新款 iPhone 将使用@3x 图像进行显示的图像分辨率的文章和讨论。是真的吗?

这是不是意味着我们要保留三张图片?举个例子,我有一张50X50的图片,我需要保留3张图片来优化新 iPhone 的外观吗?

  • 正常(50X50)
  • @ 2x-Retina (100X100)
  • @ 3x-Retina HD (150X150)

或者新手机只使用@2x 图像,而没有像@3x 那样的图像?

我已经做了一个样本项目测试,所有的模拟器似乎使用@3x 图像,这是令人困惑的。

剪辑

这里有一些更多的信息

  • 3GS (163ppi,所以使用正常)
  • 4,4,5和5(326ppi,所以我们使用@2x)
  • 6(326ppi,所以看起来它将使用@2x)
  • 6 + (这里的401 ppi 表示混淆)

剪辑

基于 Tsob 和 nitin 给出的答案,我在我的项目中添加了@3x 图像。

信息编辑

我看到很少有用户对为什么 iPhone 6使用@2x 图像感到困惑,尽管它有更高的分辨率,原因是

IPhone6可能有不同的分辨率,但具有相同的每像素英寸密度(PPI)

  • 分辨率 涉及像素的绝对数量。
  • 密度 (即每英寸像素-PPI)涉及每英寸像素的相对数量,这在 iPhone 6和以前的 iPhone 中是相同的,但在 iPhone 6 + 中不同。

再看看这个 就在这条线上

因此,iPhone6使用了与 iPhone4、5和5S 相同的@2x 图像,因为它具有相同的 PPI 和 iPhone6 + 使用了@3x 图像。

139604 次浏览

我曾在一个示例项目中尝试使用标准的@2x 和@3x 图像,而 iPhone 6 + 模拟器使用了@3x 图像。因此,如果模拟器实际上复制了设备的行为,则需要完成@3x 映像。 但奇怪的是,所有的设备(模拟器)在项目结构中似乎都使用这个@3x 图像,iPhone 4S/iPhone 5也是如此。
当他们要求开发者发布他们的 iOS8应用程序时,缺乏来自苹果的沟通,尤其是当他们在模拟器上看到这些结果的时候。

编辑苹果网站: 在苹果开发者空间的“ iOS8最新消息”部分也发现了这个:

支持新的屏幕缩放 IPhone 6 Plus 使用了新的 Retina HD 显示屏,屏幕尺寸为3.0。为了在这些设备上提供尽可能好的体验,包括为此屏幕缩放设计的新艺术品。在 Xcode 6中,资产目录可以包含1倍、2倍和3倍大小的图像; 只需添加新的图像资产,iOS 就可以在 iPhone 6 Plus 上运行时选择正确的资产。IOS 中的图像加载行为也识别出一个@3x 后缀。

还是不明白为什么所有的设备似乎都加载了@3x。也许是因为我用的是普通文件,而不是 xcassets?会尽快的。

进一步测试后编辑: 好的,看起来 iOS8在这里有一个演讲。在 iOS 7.1 iPhone 5模拟器上测试时,它正确地使用了@2x 映像。但是在 iOS8上发布同样的操作系统时,它在 iPhone 5上使用了@3x。 不知道这是一个想要的行为,还是 iOS8GM 中的错误/bug,或是 Xcode 6中的模拟器。

Ios 总是试图拍出最好的照片,但最终还是会退回到其他选择上。.因此,如果你只有普通的图像在应用程序中,它需要@2x 图像,它将使用正常的图像。

如果你只在项目中放置@2x,并在普通设备上打开应用程序,它将缩放图像以显示。

如果你的目标是 ios7和 ios8设备,并希望获得最好的质量,那么对于手机和普通设备,你需要@2x 和@3x,对于 iPad 设备,你需要@2x,因为已经没有非视网膜手机了,也没有@3x 了。

也许在应用程序中用矢量图形创建资产更好... 检查 http://mattgemmell.com/using-pdf-images-in-ios-apps/

更新:

新链接的图标图像尺寸由苹果。

Https://developer.apple.com/ios/human-interface-guidelines/graphics/image-size-and-resolution/

enter image description here


是的,这里是真实的,这是苹果提供的官方文件有关 图标或图像大小

enter image description here

你必须设置 IPhone6和 iPhone6 + 的图片

IPhone 6:

750 x 1334 (@2x) for portrait


1334 x 750 (@2x) for landscape

IPhone 6 Plus:

1242 x 2208 (@3x) for portrait


2208 x 1242 (@3x) for landscape

关于图片和它的分辨率的更多信息,这是最有帮助的文章

为控件设置图像大小,你可以设置1x@2x 和@3x,如下所示:

enter image description here

我已经做了一个样本项目测试,所有的模拟器似乎使用@3x 图像,这是令人困惑的。

在资产目录中创建图像的不同版本,使图像本身告诉您它是什么版本:

enter image description here

现在轮流在每个模拟器上运行应用程序。你会看到3x 图像只在 iPhone6 Plus 上使用。

如果通过调用 imageNamed:并分配到图像视图中,使用应用程序包中的名称(例如 一个One@2x.pngOne@3x.png)来绘制图像,也会出现同样的情况。

(然而,如果你把图像分配给一个 Interface Builder 的图像视图,就会有所不同——在双分辨率设备上,2倍的版本会被忽略。这可能是一个 bug,显然是 pathForResource:ofType:中的 bug。)