什么尺寸最适合用于图像:background.png、background@2x.png 和 background@3x.png 如果我们想使用这个图像来覆盖所有分辨率下的屏幕的全宽和半高iPhone人像应用程序?
这就是我们现在所拥有的:

Device          Points    Pixels     Scale  Physical Pixels   PPI   Ratio   Size
iPhone XS Max   896x414   2688x1242  3x     2688x1242         458   19.5:9  6.5"
iPhone XR       896x414   1792x828   2x     1792x828          326   19.5:9  6.1"
iPhone X        812x375   2436x1125  3x     2436x1125         458   19.5:9  5.8"
iPhone 6 Plus   736x414   2208x1242  3x     1920x1080         401   16:9    5.5"
iPhone 6        667x375   1334x750   2x     1334x750          326   16:9    4.7"
iPhone 5        568x320   1136x640   2x     1136x640          326   16:9    4.0"
iPhone 4        480x320   960x640    2x     960x640           326   3:2     3.5"
iPhone 3GS      480x320   480x320    1x     480x320           163   3:2     3.5"
ios - 如何在所有可用的 iPhone 分辨率下处理图像比例?-LMLPHP
有人说,对于 iPhone 6 Plus 的边到边图像(如屏幕底部从左到右边缘的横幅),他们会准备宽度为 1242 的 back@3x.png 和宽度为 1242 的 iPhone 6 back@2x.png宽度 750 以匹配 iPhone 6 屏幕尺寸,但是我认为这不是一个好主意,因为 1242/3 = 414 和 750/2 = 375 所以将它们命名为 @2x 和 @3x 没有意义。然后什么宽度应该有 back.png - 375 或 414?
图形名称使用@2x 和@3x 后缀,因此如果例如 image@3x.png 具有 30x30 分辨率,那么逻辑上认为 image@2x.png 应该具有 20x20 分辨率,而 image.png 应该是 10x10。这意味着,如果我们想为每个屏幕都有清晰的全宽图像,那么我们可能应该创建宽度为 4143=1242px 的 back@3x.png、宽度为 4142=828px 的 back@2x.png 和宽度为 414px 的 back.png。然而,这意味着在除 iPhone 6 Plus 之外的每部 iPhone 上,您都需要设置您的 uiimages 以使用例如方面适合内容模式,并且它们将被调用,因此这又不是一个完美的解决方案,并且可能会真正减慢应用程序,如果我们在旧设备上使用了很多 scalling。
那么你认为解决这个问题的最佳方案是什么?

最佳答案

如果不使用,您不必拥有所有比例的每个图像。仅制作您需要的尺寸并根据其宽度命名。对于纵向全设备宽度图像,1x 和 2x 时需要 320px 宽,2x 时需要 375px 宽,3x 时需要 414px 宽。

4"设备使用“-568h”后缀来命名它们的启动图像,因此我建议使用类似的命名方案:

  • ImageName-320w (@1x & @2x)
  • ImageName-375w (@2x)
  • ImageName-414w (@3x)

  • 然后弄清楚你在运行时需要什么图像:
    NSNumber *screenWidth = @([UIScreen mainScreen].bounds.size.width);
    NSString *imageName = [NSString stringWithFormat:@"name-%@w", screenWidth];
    UIImage *image = [UIImage imageNamed:imageName];
    

    如果将来添加其他宽度,这可能会中断,但到目前为止,Apple 一直需要重建应用程序以支持新的显示器,所以我想假设他们会继续这样做是有点安全的。

    关于ios - 如何在所有可用的 iPhone 分辨率下处理图像比例?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25969533/

    10-14 20:08
    查看更多