Squoosh-CLI – 批量图片压缩、批量图片格式转换、批量图片剪裁

Squoosh 是一款开源的,专门用来压缩图片的在线服务,支持 JPG、PNG、WebP 等格式的极限压缩,以及格式转换剪裁等功能,非常适合青小蛙这样经常一张一张处理图片的用户。但默认提供的网页版本并不支持批量处理,不过好在 Squoosh 拥有 CLI 命令行版本(支持 Windows、macOS、Linux),可以非常方便的批量处理图片。@Appinn

Squoosh-CLI - 批量图片压缩、批量图片格式转换、批量图片剪裁

正常情况来讲,直接打开 https://squoosh.app/ 然后将图片拖拽上去,就能下载压缩好的图片了。但如果需要批量,就需要命令行版本了。

Squoosh-CLI

Squoosh-CLI(https://github.com/GoogleChromeLabs/squoosh/tree/dev/cli) 是 Squoosh 的命令行版本,需要先在电脑上安装 Node.js,然后再安装 Squoosh-CLI:

  1. 下载并安装 Node.js:https://nodejs.org/zh-cn/
  2. 安装 Squoosh-CLI:npm i -g @squoosh/cli (需要再终端,或者命令提示符中使用)

然后,就能正常使用了。

同样要在终端,或者命令提示符中使用:

squoosh-cli --mozjpeg auto ./ -d ./output

上述的意思是使用 MozJPEG 的自动优化功能来压缩图片,并转换为 jpg 格式:

Squoosh-CLI - 批量图片压缩、批量图片格式转换、批量图片剪裁

然后就会在原文件夹的 output 目录里,获得压缩后的 jpg 文件了。去掉 -d 参数会保存压缩后的文件至原目录。

进阶转换

Squoosh.app 其实直接提供了复制命令行的按钮,只需要先调整好参数,然后按下这个按钮,就可以了:

Squoosh-CLI - 批量图片压缩、批量图片格式转换、批量图片剪裁

在命令的最后面添加:./ 意思是压缩当前路径下的所有图片,如:

npx @squoosh/cli --resize '{"enabled":true,"width":1238,"height":841,"method":"lanczos3","fitMethod":"stretch","premultiply":true,"linearRGB":true}' --mozjpeg '{"quality":75,"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}' ./

在 macOS、Linux 下可以使用 *.jpg 来单独处理某一类型的图片,但 Windows 下对于 * 的处理有问题,目前仍未解决,只能使用 ./

然后就愉快的去转换图片吧。目前小众软件的图片压缩均由 Squoosh 处理。

参考链接

11 条留言

  1. Dr_Ting 2021/09/12 回复
  2. 唉可悲 2021/09/12 回复
  3. PeterHsu 2021/09/12 回复
  4. 123 2021/09/12 回复
    • 朗姿 2021/09/15 回复
  5. meow 2021/09/13 回复
  6. 山城子 2021/09/23 回复

写留言