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

use*_*760 64 xcode uiimage ios

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

ena*_*dun 88

根据我的理解,如果图像大小是 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

这将是您在不同屏幕上的输出. 在此输入图像描述

  • 这个答案得到了[Apple自己的指南](https://developer.apple.com/ios/human-interface-guidelines/graphics/image-size-and-resolution/)的支持:`假设您有一个标准分辨率@ 1x例如,100px×100px的图像.该图像的@ 2x版本为200px×200px.@ 3x版本将是300px乘300px (4认同)
  • 很好地解释了这一点,应将其作为答案..并为此+1。 (2认同)
  • @enadun我刚刚找到答案.应该给出1x,2x和3x的图像,因为从app store部署应用程序时,iphone 5上会发送图像@ 2x图像及其变体,图像@ 3x图像将在iphone 6及其变体​​等上发送.这称为应用程序切片.这可以防止非视网膜iphone下载高分辨率图像,开发人员有机会为基于视网膜的iphone创建更多细节的图像.如果在构建中未找到所需图像,则仅发生向上扩展或缩小.所以你的答案是正确的. (2认同)

Rup*_*tel 17

对于@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

我希望这对你有所帮助!

  • 这是不正确的.对于`@ 3x`图像,你应该将`@ 2x`图像尺寸增加1.5倍:15 x 15 =`@ 1x`,30 x 30 =`@ 2x`,45 x 45 =`@ 3x` (7认同)
  • @nvrtd,请考虑添加支持您的主张的参考文献。罗刹:我也不知道答案,但我在这里看到了三个完全不同的答案,而且都没有证据! (2认同)
  • @nvrtd:我已经阅读了更多内容,正如我刚刚在对已接受答案的评论中所说,您的答案是正确的,如[Apple自己的指南](https://developer.apple.com/ios / human-interface-guidelines/graphics/image-size-and-resolution/): `例如,假设您有一个标准分辨率 @1x 图像,即 100 像素 x 100 像素。该图像的 @2x 版本将为 200 像素 x 200 像素。@3x 版本将为 300px x 300px。 (2认同)

Nil*_*jan 11

是的,你的理解是正确的.

标准分辨率图像的比例因子为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/


Aza*_*zat 5

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