1 pngquant
pngquant是国外的一个有损的PNG压缩开源库,提供了命令行形式和源码库形式。
- 通过这个库的转化可以显著减少png文件大小(通常减少70%),并且保持原有透明度通道。
- 生成的图片文件可以兼容所有现代web浏览器,在IE6下比24-bit PNGs也有更好的表现。
2 特性
- 结合vector quantization算法生成高质量的色彩范围
- 独特的自适应抖动算法,比标准的FloydSteinberg算法具有更强的抗噪性
- 易与集成,提供了shell脚本,图形化界面,服务端库,PS插件
- 具有快速模式,用于处理大批图片
原图75,628字节
pngquant处理后的图片,19,996 字节 (压缩了73%)
3 使用
为方便在mac下批量调用,我参考johnellmore/Optimize-Images项目,写了一小段shell脚本,方便mac用户使用pngquant:PNGCompressForMac
使用方法如下:
sh PNGCompress PATH/TO/YOUR/RES
4 Android下的使用:压缩res资源
测试了下对项目里Android res文件夹的压缩情况,结果如下:
执行默认的压缩
执行结束
前后对比,29.8MB vs 19.6MB
由于Android里的资源很多是icon,色域范围较大的背景图比较少,每张图片的压缩率没有宣称的这么高,但是最后结果还是比较感人的,从29.8M降到了19.6M。
5 对比tinypng
tinypng是商用的PNG压缩工具,具有在线压缩、在线api、ps插件等方式。
* 在线api需要申请api-key,并且对调用次数有限制,可以免费调用500次
* ps插件在win下有破解版的,但咱视觉用的mac版ps,且破解版不适合商用
* 压缩率较高
默认参数下,tinypng与pngquant压缩率对比
| 图片 | 原图大小 | tinypng | tinypng压缩率 | pngquant | pngquant压缩率 |
|---|---|---|---|---|---|
| png1 | 212KB | 69KB | 67.45% | 111KB | 47.64% |
| png2 | 56KB | 23KB | 58.93% | 30KB | 46.43% |
| png3 | 549KB | 217KB | 60.47% | 251KB | 54.28% |
| png4 | 94KB | 34KB | 63.83% | 54KB | 42.55% |
| png5 | 138KB | 46KB | 66.67% | 63KB | 54.35% |
| png6 | 118KB | 45KB | 61.86% | 68KB | 42.37% |
| average | 63.20% | 47.94% |
本文介绍pngquant库,一个用于有损PNG压缩的开源工具,提供命令行、源码库等多种形式。通过使用pngquant,可以显著减少PNG文件大小(通常减少70%),同时保持原有透明度通道。实测显示,处理后的图片文件大小减少了73%,兼容所有现代web浏览器,尤其在IE6下表现更佳。此外,还提供了一个方便在mac下批量调用的shell脚本,适用于Android资源压缩,压缩率虽然不如宣称的高,但从29.8MB降至19.6MB,效果令人满意。对比商业工具tinypng,虽然压缩率较高,但在mac版PS中无法使用其破解版,且存在调用次数限制。
1万+

被折叠的 条评论
为什么被折叠?



