【问题标题】:How can I skip compressing one PNG?如何跳过压缩一个 PNG?
【发布时间】:2011-01-04 08:22:18
【问题描述】:

(注意:我已经解决了这个问题,但花了很长时间才在这里发布问题/答案。)

Xcode 构建过程在构建时“优化”了我的 PNG。这通常不是问题,但以这种方式处理的 iTunesArtwork 会导致它损坏,因此 iTunes 无法显示它。我怎样才能防止这种情况发生?

【问题讨论】:

    标签: iphone xcode compression png itunesartwork


    【解决方案1】:

    对于所有使用 Xcode 6.4 及更高版本的人:

    转到:“目标”-“您的项目名称”。

    接下来转到“构建设置”选项卡。在选项卡名称下方单击“基本”和“组合”按钮。

    接下来向下滚动到“打包”分隔符,您会发现“压缩 PNG 文件”默认设置为“是”。

    【讨论】:

      【解决方案2】:

      找到另一种非常简单的方法来禁用单个 png 文件的压缩。我认为这比公认的答案更好,因为您不必更改本地文件系统中文件的类型(或扩展名),而只需在 XCode 中更改。

      在 XCode 的身份和类型检查器中将文件类型从 Default - PNG Image 更改为 Data。见下文:

      曾经:

      现在:

      【讨论】:

        【解决方案3】:
        1.Goto your build setting 
        2.Search flag Compress PNG files and set it to NO.(default is YES).
        

        在此之后将避免对 PNG 图像进行压缩。 仅供参考

        【讨论】:

        • 这将关闭所有 PNG 压缩,这通常不是您想要的。 (但有时可能。)
        【解决方案4】:

        您可以在此处阅读有关 Xcode 的 PNG 压缩的更多信息: http://iphonedevelopment.blogspot.com/2008/10/iphone-optimized-pngs.html

        虽然您可以在项目设置中使用“压缩 PNG 文件”完全关闭 PNG 优化/压缩(仅当项目的基础 SDK 设置为设备 SDK,而不是模拟器 SDK 时才可见),但您不希望去做这个!阅读上面的链接了解原因的详细信息,但其要点是优化让 iPhone 跳过了一些减慢 PNG 显示速度的数学运算。

        Xcode 只会优化它知道的 PNG 图像文件。为了防止特定的 PNG 被优化,你改变它的文件类型,这样 Xcode 就不再知道它是一个 PNG。

        1. 在项目窗口中选择文件。
        2. 选择文件->获取信息。
        3. 在常规选项卡上,将文件类型从 image.png 更改为 file

        (当你添加一个没有扩展名的文件时,这实际上是默认设置,这可能是 iTunesArtwork 没有扩展名的原因。但如果你像我一样迂腐,你检查了文件类型设置并修复了它。)

        【讨论】:

        • 我推荐disabling Xcode's compression entirely,因为它不能很好地优化和may make files slower to load
        • 如果您使用的是不支持 Apple 自定义压缩 PNG 的第三方库,不是吗? iOS 本身使用压缩图像快得多。还是仅适用于较旧的硬件?上次我测试时确实如此。
        • Steven Fisher:大部分节省来自每像素 1 字节的图像,其中首先没有字节交换。我已经在新硬件上进行了测试,但我不明白为什么字节交换会很昂贵——这是您可以在寄存器/L1 缓存中执行的超级简单的操作。 OTOH 从磁盘读取更多数据并解压缩更多听起来像是真正的开销。
        • not 字节交换的优点是原始数据可以直接传递到 GPU,而无需先经过 CPU。是的,这是一个简单的操作,但它可能会改变路径。不过,我还没有看到任何体面的测试来解释和显示性能差异。
        猜你喜欢
        • 2023-04-10
        • 1970-01-01
        • 1970-01-01
        • 2015-11-19
        • 2013-03-24
        • 2017-01-28
        • 2019-02-22
        • 2011-11-19
        • 1970-01-01
        相关资源
        最近更新 更多