【问题标题】:Adapting OSX Application's Images for Retina为 Retina 调整 OSX 应用程序的图像
【发布时间】:2012-10-18 15:59:50
【问题描述】:

我们正在开发的应用程序目前仅使用标准显示分辨率。我们如何修改 Mac Retina 显示器的 @2x 图像?

假设我有一个 50 x 100 像素的按钮。我可以将尺寸翻倍并添加@2x 扩展吗?

【问题讨论】:

    标签: xcode user-interface graphics retina-display


    【解决方案1】:

    假设我有一个 50 x 100 像素的按钮。我可以将尺寸翻倍并添加@2x 扩展吗?

    您至少应该找到原始的高分辨率艺术品,然后将其缩小到目标尺寸。在某些情况下,您还需要稍微不同(例如更详细)的高分辨率图像。

    应该避免简单地升级现有资源;最终绘制时它什么也做不了(除了更大的应用程序和更多的内存消耗)。也就是说,它不会是“高分辨率”,它只是一个更大的图像,对最终用户来说看起来是一样的——重新缩放只是发生在不同的时间点,结果会 两者都被像素化(或同样模糊,取决于重新缩放的方式)。我能想到你会在哪里这样做的唯一原因是,如果你丢失(或从未有过更大的)原始总部艺术品,并且想要使用使用高质量缩放器重新缩放的重新缩放图像 - 在事件中绘制这些图像时也无需重新缩放。

    【讨论】:

    • 我还是有点困惑。假设我们的设计师制作了一个高分辨率按钮,然后将其缩小到 50px x 100px 以进行常规显示。视网膜版本的像素大小是多少? 100px x 200px 对吧?
    • @user1390395 是正确的。具体来说,每英寸 72 像素。从您的措辞来看,我的印象是您只想将当前资产升级到高分辨率尺寸。您可能还想阅读构建设置COMBINE_HIDPI_IMAGES。这会将两个图像“嵌入”到一个 TIFF 文件中。
    • COMBINE_HIDPI_IMAGES 比简单地在我的资源中包含file.png 和file@2x.png 更有效或更小的占用空间吗?在 iOS 中,我通常使用后者。
    • @user1390395 这是个好问题!我也对副作用感到好奇,虽然我没有测量过。我想它可以采用任何一种方式(还要考虑磁盘缓存和 NSImage/UIImage 缓存、I/O 以及与从未读取的页面相关的信息的反序列化的成本)。就个人而言,在大多数情况下(像你一样)我仍然使用单独的资源文件——这主要是因为我想要一种一致的方式来加载资源,而不管使用的 API 是什么。也有明显的重复数据删除案例;但如果 TIFF 在这里利用它,则 IDK。
    【解决方案2】:

    OS X 上的 Retina 图像的行为方式与它们在 iOS 中的行为方式相同。所以,是的,重绘(而不是放大)您的图像,并使用它们的 @2x 扩展名重新保存它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-04
      • 2013-09-16
      • 1970-01-01
      相关资源
      最近更新 更多