使用pngcrush工具的PNG优化问题

时间:2011-09-12 13:05:38

标签: xcode pngcrush

我对“pngcrush”工具的查询很少。

在xcode构建过程中,

  1. 我将“压缩PNG文件”选项设置为“是”,然后检查二进制和图像大小。
  2. 然后在我的另一个构建过程中,我将选项“Compress PNG Files”设置为“NO”,然后再次检查二进制和图像大小。
  3. 但是,在二进制/图像大小中,1和2之间没有任何区别。

    为什么“pngcrush”工具没有优化png文件?

    任何帮助都会很棒。

    提前致谢。

    此致 德文德拉

3 个答案:

答案 0 :(得分:4)

仅在为设备构建应用程序时才转换文件。 iOS模拟器获得常规PNG。

但是,Xcode's conversion can make images larger and slower to load,我建议您禁用Compress PNG Files选项并手动优化PNG图像。

答案 1 :(得分:2)

请注意,无论"压缩PNG文件"旗。因此,如果您尝试为Images.xcassets中添加的图像保持相同的文件大小,则无法使用。

现在来到PNGCrush,它是一个与xcode捆绑在一起的开源命令行工具,xcode使用它来帮助压缩图像。然而,pngcrush通过清理不需要的块并重新创建png图像以获得最高质量来压缩,因此压缩的图像可能高于原始图像。

还有许多其他工具可以压缩。然而,在mac世界中,人们很幸运能够将所有工具合并为一个。 ImageOptim无缝集成了最佳优化工具PNGOUT,Zopfli,Pngcrush,AdvPNG,扩展OptiPNG,JpegOptim,jpegrescan,jpegtran和Gifsicle。另外,使用Imageoptim,你不必再添加jpg-to-png,然后再添加到app jpgs也会优化图像优化。

要达到最佳捆绑尺寸,首选

  • Clean-Build-Archive-Export并记下ipa文件大小。

  • 设置"压缩PNG文件"没有

  • 安装Imageoptim(可在http://imageoptim.com/获得)

  • 转到终端并导航到源目录

  • 使用命令open -a ImageOptim .

  • 它自动查看图像的来源并压缩它们(不用担心也会优化.xcassets中的图像)

  • 现在确保等待一段时间,让所有进度指示灯呈红色亮起

  • 清理并构建和存档,您将观察到生成的ipa文件远远低于原始文件。

  • 最后但并非最不重要的是,此后,当您将图像添加到项目中时,请确保添加优化的图像。它就像将图像拖放到imageOptim中进行优化一样简单。

  • 此外,每当添加时考虑将图像添加到直接在应用级别而非数据级别使用的资源。如果要在数据级别使用要添加的图像,则将其直接添加到项目中,不要为其创建资产条目,因此至少这些图像不会破碎。

快乐压缩每个人:)

答案 2 :(得分:1)

pngcrush工具在将.png复制到应用程序包中的目标时由Xcode构建过程运行。将“压缩PNG文件”选项设置为YES时,此过程在.png文件上运行。 (请注意,此工具有时会增加图像的大小!)如果在pngcrush上运行,我不希望.png图像的大小相同。

pngcrush进程也会破坏.png,以便它只能由iOS打开。因此,如果您无法在应用程序包中查看您的图像,那么pngcrush实际上是在它们上面运行就是一个好兆头。

要记住的另一件事;有时,构建文件夹中的应用程序包的内容不会直接与您的Xcode项目中的文件对应。因此,有时手动清理构建文件夹是个好主意。