最近手里有一大批相机图片,需要分享给团队人员。但是原文件出来的图片太大,整整有几十个G。团队人员又不需要原图,只需要有全部的照片即可。为此,想把图片压缩成高质量图片以减少体积。
由于一直在用Google相册,对它之前采用高质量上传的图片印象不错,于是搜了搜Google的图片高质量压缩工具,找到了Squoosh。
浏览器输入网址https://squoosh.app/即可访问Squoosh。Squoosh本身可离线使用,而且拥有美观界面,单独压缩几张图片相当给力。
可以看到,80%压缩质量肉眼基本上分辨不出来区别,但是文件大小下降了三分之二。
但是这个界面只能一张张手工操作,对于几十个G图片来说就是个噩梦。网上搜了下squoosh批量压缩,竟然没有找到一篇合适、准确的介绍,没办法只能自己慢慢摸索。
在界面下方找到了Sqoosh CLI,应该是命令行版本的,点进去进入GitHub仓库。
[图片上传失败...(image-ed2ba2-1624621975250)]/cli/
](https://upload-images.jianshu.io/upload_images/19092690-795a53cdb3f0d797.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
看了下说明,应该不需要安装别的东西,能直接使用:
$ npx @squoosh/cli
我能直接使用,要是不能用的话,可以先去安装一下nodejs。
使用方法:
-
复制参数
打开Squoosh界面,配置好参数(基本上就调一下quality,别的不知道是啥),然后点击图中按钮,复制。
设置并复制参数
复制结果可先粘贴到txt中
npx @squoosh/cli --mozjpeg '{"quality":80,"baseline":false,"arithmetic":false,"progressive":true,"optimize_coding":true,"smoothing":0,"color_space":3,"quant_table":3,"trellis_multipass":false,"trellis_opt_zero":false,"trellis_opt_table":false,"trellis_loops":1,"auto_subsample":true,"chroma_subsample":2,"separate_chroma_quality":false,"chroma_quality":75}'
注意:这里有个坑,复制出来的参数直接用会报错,需要把 ' 和 " 给全部去掉才可以。
npx @squoosh/cli --mozjpeg {quality:80,baseline:false,arithmetic:false,progressive:true,optimize_coding:true,smoothing:0,color_space:3,quant_table:3,trellis_multipass:false,trellis_opt_zero:false,trellis_opt_table:false,trellis_loops:1,auto_subsample:true,chroma_subsample:2,separate_chroma_quality:false,chroma_quality:75}
- 编写循环及输出路径
在上面复制出的基础上进行添加循环和设置输出路径:
*这里我选择要压缩图片的原格式是“.JPG”,输出路径是“E:\桌面\compress\”
for %a in (*.JPG) do squoosh-cli --mozjpeg {quality:80,baseline:false,arithmetic:false,progressive:true,optimize_co ding:true,smoothing:0,color_space:3,quant_table:3,trellis_multipass:false,trellis_opt_zero:false,trellis_opt_table:false,trellis_loops:1,auto_subsample:true,chroma_subsample:2,separate_chroma_quality:false,chroma_quality:75} %a -d E:\桌面\compress\
- 进入cmd运行
-
打开cmd,切换到你要压缩的图片文件夹下
切换到文件夹 -
粘贴上面完整代码,回车运行即可。
开始批量压缩