Xcode中@ 1x,@ 2x和@ 3x的图像大小应该是多少?


72

例如,我有一个100*100大小为imageview或按钮的图像,我想设置其图像或backgroundImage使用本地.png文件。根据我的理解,我需要创建3组图像,即100*100for @1x200*200for @2x300*300for @3x。我不确定我的理解是否正确,有人可以帮忙吗?


6
完全正确!:) <4的iPhone将使用常规(@ 1x)图像,iphone 6 plus将使用最大的图像(@ 3x)。两者之间的iPhone使用中型图片(@ 2x)。这里是一个很好的概述:paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions
安德烈Slotta

看看这个。希望对您
有所

1
如果可以帮助您,您应该接受答案之一。它将鼓励其他人回答您的问题。它还将使其他开发人员知道哪种解决方案适合您。
瑜伽士

Answers:


102

据我了解,如果图像尺寸是 100 * 100

@1x -> 100 * 100

@2x -> 200 * 200

@3x -> 300 * 300

在此处输入图片说明

有一些需要理解的东西。通过创建2x3x图像,您无法期望每个iPhone屏幕都具有完全相同的布局。布局因屏幕而异。1x,2x和3x图像大小仅处理屏幕的像素密度。

假设您有一个320 * 70正在创建的图像

@1x -> 320 * 70

@2x -> 640 * 140

@3x -> 960 * 210

这将是您在不同屏幕中的输出。 在此处输入图片说明


6
苹果自己的指南支持此答案:Suppose you have a standard resolution @1x image that’s 100px by 100px, for example. The @2x version of this image would be 200px by 200px. The @3x version would be 300px by 300px.
RoberRM

2
非常漂亮的解释,这应该被接受的答案..并为此+1 ..
Akshatha SRINIVAS

1
但是将图像保持在1x,2x和3x大小的意义何在?为什么不保留image @ 3x。系统会自动将其解析为2x和1x屏幕分辨率。这样您的应用大小会减少吗?
crypt

1
@crypt我认为这是因为节省处理能力(缩小比例对于处理器来说是一项额外的工作),并且避免了缩小比例的质量损失。因此,当低分辨率图像可用时,非视网膜设备不需要将视网膜尺寸保持大图像。我完全不知道真正的原因。
enadun

2
@enadun我刚刚找到了答案。应该提供1x,2x和3x的图像,因为在从应用商店部署应用程序时,image @ 2x图像在iphone 5及其变体上发送,image @ 3x图像在iphone 6及其变体​​等上发送。这称为应用切片。这样可以防止非视网膜iPhone下载高分辨率图像,并且开发人员有机会为基于视网膜的iPhone创建具有更多细节的图像。如果在构建中找不到所需的图像,则仅会按比例放大或缩小。所以你的答案是正确的。
crypt

22

对于@3x图像,将@1x图像尺寸增加3倍!

例如

15 x 15 = @1x

30 x 30 = @2x

45 x 45 = @3x

要么

100 x 100 = @1x

200 x 200 = @2x

300 x 300 = @3x

要么

15 x 10 = @1x

30 x 20 = @2x

45 x 30 = @3x

希望对您有帮助!


7
这是不正确的。对于@3x图像,您应将@2x图像尺寸增加1.5倍:15 x 15 = @1x,30 x 30 = @2x,45 x 45 =@3x
nvrtd从

哪种方法是定义按钮图像大小的正确方法!1x = 15 * 15、2x = 30 * 30和3x = 45 * 45或这个1x = 15 * 15、2x = 30 * 30和3x = 60 * 60!
罗刹·萨尼

1
@nvrtd,请考虑添加支持您的主张的参考。拉克沙:我也不知道答案,但是我在这里看到了三个完全不同的答案,所有这些都没有证据!
RoberRM

1
@nvrtd:我已经阅读了更多内容,正如我刚才在评论中说的那样,您的答案是正确的,正如苹果自己的指南所述Suppose you have a standard resolution @1x image that’s 100px by 100px, for example. The @2x version of this image would be 200px by 200px. The @3x version would be 300px by 300px.
RoberRM

@nvrtdfrst,您能帮我这个stackoverflow.com/questions/43995059 / ... 吗?
May Phyu

13

是的,您的理解是正确的。

标准分辨率图像的比例因子为1.0,称为@ 1x图像。高分辨率图像的比例因子为2.0或3.0,被称为@ 2x和@ 3x图像。假设您有一个标准分辨率@ 1x图像,例如100px×100px。此图像的@ 2x版本为200px×200px。@ 3x版本将为300px×300px。

在此处输入图片说明

有关更多详细信息,您可以检查此链接 https://developer.apple.com/ios/human-interface-guidelines/graphics/image-size-and-resolution/



7

是的,你是对的。但是,如果您正在使用Assets,则可以在一张带有三个插槽的图像中完成所有操作


1
导航栏项目如何?我有一个40 * 40按钮作为导航栏项目,因此图像大小应为1x 40 * 40、2x 80 * 80、2x 120 * 120。但是根据苹果的文件,工具栏和导航栏图标分别应分别为66 * 66、44 * 44、22 * 22,分别为3x,2x,1x?为什么是这样?
user2053760

问题是什么?只是根据文档建议使用
2015年

0

使用资产目录。Xcode将管理@ 1x,@ 2x,@ 3x easilly,并告诉您图像的尺寸。

有了它,可以轻松管理AppIcon和LaunchScreen图像。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.