了解不同分辨率屏幕的图像大小

Understanding Image Size for Different Resolution Screens

我很难将@1x、@2x 和@3x 的图像大小的所有信息放在一起。我一直在 XCode 中使用场景编辑器,场景大小为 1334x750(iPhone 6 屏幕的像素尺寸)。因此,当我为该场景中的精灵调整图像大小时,我应该为 @2x 使用该大小吗?

根据我在文档中读到的内容,CGSize 使用的是点,而不是像素,所以如果我有一个 CGSize(width: 50, height: 50) 的图像,这是否与场景中的场景大小无关编辑?

底线问题:CGSize 尺寸如何转化为我如何导出以像素为单位的@1x、@2x 和@3x 图像以及导出时 PPI 应该是多少?

这个概念很简单。 Storyboard 或 Interface Builder 中的大小应该是 @1x 格式的资产大小。

视网膜显示(或 iPhone 6+ @3x 大小)并不意味着你比以前多 space,这意味着你可以在其中绘制 2(或 3)个像素你之前画了1张

所以对于一个 50x50 像素的图像视图,cou 应该有 3 个资源: - 图片@1x.png(50x50 像素) - 图片@2x.png(100x100 像素) - 图片@3x.png ( 150x150 像素)

假设您在资产库中创建了一个包含 3 组相同图像的图像,@1x.png 大小 50x50 pixels@2x.png 大小 100x100 pixels@3x.png尺寸150x150 pixels

你不需要担心在你的故事板中使用哪一个(因为故事板自动使用@1x.png),以及哪个用于目标设备,如 iPhone6,或iphone7,或iPad(因为默认编程所有硬件在@1x.png、@2x.png和@3x.png中找出它们相对所需图像的像素)

您需要学习进一步的说明Auto layout Programing Guide 您还可以查看他们的苹果关于自动布局的教程视频。

自动布局的奥秘part1

自动布局的奥秘part2

Xcode 可以处理矢量图像,因此如果您能够将图像导出为 PDF,则您可以忘记 @2X 和 @3X 图像,例如在 Sketches 导出面板中,导出格式的选项之一是 PDF,因此创建您的作品 @1X 并导出为 PDF,然后在 Xcode 中,当您将图像添加到 Assets.xcassets 时,您可以将图像 Scales 属性设置为 Single Scale。 Xcode 将在构建时从矢量 PDF 生成所需的 @2X 和 @3X 图像。

@1x@2x 用于与 iPhone 4 出来时视网膜图形变化有关。

iPhone 3GS 为 320x480,iPhone 4 为 640x960。这意味着每英寸的点数完全相同,但 ppi 翻了一番,因此 @2x。当 iPhone 5 出来的时候,唯一改变的是高度,所以宽度的 ppi 是一样的,这里没有问题。

然后我们打6和6+。在这一点上,苹果说搞砸了,尽量保持与以前 iPhones 相关的 ppi,而不保留以前的 iphone 可用区域,或者为更大的设备提供更大的屏幕像素。现在@2x已经失去了原来的意义

但是,为了真正让我们失望,他们制作了 iPhone SE,它回到了 iPhone 5 的 ppi 屏幕尺寸,所以 @2x 再次有意义。

基本上,在考虑@2x 图形时,请考虑第一个 iPhone 分辨率大小。

现在,您可以做出选择。您可以为您的应用提供 more/less 可用区域,您可以将额外的可用区域黑框化,或者由于游戏像素不再是 1:1 屏幕像素,您可以缩放并采取某种质量损失。