前言:
Google开源了JPEG格式压缩工具Guetzli
Guetzli 是一个编码器,它可以实现在高视觉质量下出色的压缩密度,Guetzli通常情况下比libjpeg生成的jpeg图片大小要小20%~30%。Guetzli只会生成序列化的JPEGs,这样的化在解压的时候会产生更快的速度。
在Mac上安装Guetzli
-
通过brewhome安装Guetzli
brew install guetzli
-
通过源码安装,需要用到bazel
需要安装bazel,bazel是Google 推出的构建工具 .
git clone https://github.com/google/guetzli.git cd guetzli
bazel build -c opt //:guetzli
bazel build 结束之后,在guetzli目录下会产
bazel-bin/guetzli
,
通过export将bazel-bin/guetzli
导出到环境变量。
使用Guetzli压缩图片
- guebzli origin_image new_image
- 添加--quality value 可以指定压缩的质量,value必须>=84
我的测试情况
在通过命令行压缩图片的时候默认不打印任何log,还以为啥事没干呢。
可以通过--verbose
将压缩过程在命令行中打印
我测试了两种格式图片的压缩比率:
- 一个531kb的png图片,最后结果是216kb,压缩率为59%左右
- 一个1.3M的jpg图片,最后结果是901kb,压缩率为32%左右
最会通过放大图片来看,压缩后的图片和原图通过肉眼很难看出有什么区别。
注意
在使用Guetzli进行图片的压缩的时候会花费一些时间,当然我们可以写一些脚本批量处理,然后喝杯咖啡,图片就已经压缩完了。
使用场景
在安卓、IOS项目中都可以通过压缩图片的方式来减少安装包的大小