最近手里有一大批相機圖片,需要分享給團隊人員。但是原文件出來的圖片太大,整整有幾十個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 <options...>
我能直接使用,要是不能用的話,可以先去安裝一下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,切換到你要壓縮的圖片文件夾下
切換到文件夾 -
粘貼上面完整代碼,回車運行即可。
開始批量壓縮