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

时间:2016-11-07 17:09:12

标签: ios swift sprite-kit image-size

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

根据我在文档中看到的,CGSize使用的是点,而不是像素,所以如果我的图像是CGSize(宽度:50,高度:50),这是否与场景编辑器中的场景大小无关?

底线问题:CGSize维度如何转换为以像素为单位导出@ 1x,@ 2x和@ 3x图像的方式以及导出时PPI应该是什么?

4 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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

视网膜显示器(或iPhone 6+ @ 3x尺寸)并不意味着您拥有比以前更多的空间,这意味着您可以在之前绘制1个像素的地方绘制2个(或3个)像素。

因此对于50x50像素的图像视图,应该有3个资产: - Image@1x.png(50x50像素) - Image@2x.png(100x100像素) - Image@3x.png(150x150像素)

答案 2 :(得分:1)

假设您已在资源库中创建了一个图片,该图片由3组相同的图片@1x.png组成,其大小为50x50 pixels@2x.png的尺寸为100x100 pixels且{{1} } {size @3x.png

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

了解您需要学习Auto layout Programing Guide的更多说明 您还可以查看有关自动布局的苹果教程视频。

自动布局的奥秘part1

自动布局的奥秘part2

答案 3 :(得分:1)

当iPhone 4问世时,

@1x@2x过去与视网膜图形变化有关。

iPhone 3GS为320x480,iPhone 4为640x960。这意味着每英寸的点数实际上是相同的,但是ppi加倍,因此@2x。当iPhone 5问世时,唯一改变的是高度,所以ppi的宽度相同,这里没问题。

然后我们击中6和6+。在这一点上,苹果公司表示,试图保持与以前的iPhone相关的ppi而不保留以前的iphone可用区域,或为更大的设备提供更大的屏幕像素。现在@2x已经失去了原来的含义

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

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

现在,您可以选择。你可以给你的应用程序更多/更少的可用区域,你可以黑盒子额外的可用区域,或者你可以扩展和采取某种质量损失,因为游戏像素不再与屏幕像素1:1。