smush.it vs OptiPNG / pngcrush

时间:2011-04-08 16:46:31

标签: image-processing png image-optimization

我想看一些在线与离线图像优化器的比较数字,即Yahoo! Smush.it与OptiPNG或pngcrush。

这些因素在速度和图像尺寸方面有何不同,最佳选择是什么?

3 个答案:

答案 0 :(得分:42)

非常详细和全面的比较 - 包含许多不同类型的PNG和优化的大量工具和结果:

http://css-ig.net/png-tools-overview

我认为这是一个比PunyPNG的小比较更好的来源,显示他们的工具最好[部分转换图像格式而不是优化现有格式]:)

答案 1 :(得分:4)

我真的不知道这个网站上的信息有多可靠,因为他们有自己的压缩服务,但请查看网址中的比较:http://punypng.com/about/comparison

答案 2 :(得分:2)

我复制了以下图片:

并离线安装了您提到的两个工具:

this.httpClient.request(
  new HttpRequest(
    'POST',
    'http://myapi.com/endpoint',
    formData, // contains file object
  )
);

并使用默认设置和称为reSmush.it的在线工具比较了图像尺寸:

brew install optipng pngcrush

以上测试未测量每个工具的速度。从主观上来说,他们都感觉相同。

通过视觉比较图像,我看不到使用脱机工具创建的原始版本与优化版本之间的差异。但是,在reSmush.it的情况下,图像保真度明显下降,可以使用其API(see example)轻松再现。

因此,上述尺寸不是一个苹果对一个苹果的比较。更像是大猩猩。因此,我回过头来通过按照API文档中指定的设置879K feat-social-awareness.original.png 712K feat-social-awareness.optipng.png 700K feat-social-awareness.pngcrush.png 205K feat-social-awareness.resmushit.png 将reSmush.it的质量提高到100,并恢复了与默认设置相同的有损PNG。

那么什么是最佳选择?好吧,这取决于...

  • 如果计算资源是主要限制因素,请考虑使用reSmush.it。
  • 如果要考虑图像保真度,请不要使用reSmush.it。
  • 如果您使用OptiPNG,很可能会丢失原始文件(默认情况下会被覆盖)。
  • 如果使用qlty=100,则压缩效果要优于pngcrush,而图像保真度却不会明显下降。
  • 如果要在脱机工具中进行类似于reSmush.it的有损优化,请尝试pngquant
  • 如果在带宽受限的情况下通过网络提供图像,则应考虑使用另一种图像格式,例如Fabrice Bellard的BPG Image format