【问题标题】:What is PngCrush in iOS?iOS 中的 PngCrush 是什么?
【发布时间】:2012-05-29 18:52:33
【问题描述】:

我知道 Pngcrush 是 iOS 中的一种图像优化技术,但我怀疑 X-code 是否会在每次构建期间或在将我们的应用程序部署到 iTunes 商店之前在内部执行此图像优化?

【问题讨论】:

  • 请不要转发您的问题。如果您要添加一些内容,请改为编辑原始内容。

标签: objective-c ios xcode image-optimization pngcrush


【解决方案1】:

Xcode 在构建期间进行转换。最终的应用程序将修改 png,您无需手动执行任何操作。

【讨论】:

  • 粉碎下载用于应用程序使用的图像(例如在 uitableview 中)是否有任何性能优势?
  • 我想这就是他们首先这样做的原因。它们预乘 alpha,因此不必在加载时或绘制时进行;他们交换频道,所以频道顺序就是我猜的硬件频道顺序,所以他们也不必在加载时这样做。
【解决方案2】:

PNG 粉碎是使用pngcrush 工具完成的,您可以使用以下命令手动访问该工具:

xcrun -sdk iphoneos pngcrush -iphone ...

Xcode 会自动为任何添加到您的目标的“PNG”文件类型的文件执行此操作:

如果您使用目录引用包含资源,PNG 粉碎将由 Xcode 执行,您必须手动执行此操作。

您可以使用这个小 bash sn-p 手动粉碎目录中的所有 PNG:

find /path/to/directory -name "*.png" | while read filename; do
    xcrun -sdk iphoneos pngcrush -iphone "$filename" "${filename}_crushed"
    mv "${filename}_crushed" "${filename}"
done

【讨论】:

    【解决方案3】:

    默认情况下,XCode自动执行处理。

    您可以从项目的构建设置中控制此行为:

    搜索设置“压缩 PNG 文件”并设置所需的值。

    【讨论】:

      猜你喜欢
      • 2011-10-21
      • 2017-06-08
      • 1970-01-01
      • 2014-10-12
      • 2023-03-12
      • 2015-11-05
      • 2012-03-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多