Squoosh Google开源的,速度快如火箭,质量好,唯一缺点就是不能批量压缩。
在国内图片压缩更实用的是指定压缩后的大小
不然压缩不到网站要求的大小难受死。
2 个赞
不能指定压缩大小,但是可以拖动控制压缩大小,7兆的图片最低可以压缩成14kb(黑白),五六十kb就是彩色的,满足绝大部分要求
大多数图片压缩工具都有一个质量选项,把质量调低,图片就会变小。
怎么会压缩不到指定的大小呢?
之前遇到过好几次,最低质量还是比网站要求大一点点,换好几个工具网站都不行。
直到找到这个能直接指定大小的工具,再也不用顾忌压缩出来的图片究竟多大了。
能直接显示压缩后的大小倒也不错![]()
TinyPNG其实挺不错的,免费,而且基本够用
就在线网站来说,我觉得够了,毕竟压缩率24.5%跟压缩率23.8%,我感觉不出有什么区别。
但是,实际干活的时候,我还是用自己写的工具,直接把文件夹拖拽进去,程序自动调用pngquant,zopflipng,批量处理,而且把压缩率连90%都不到的抛弃,直接使用原文件。
定制的需求只能使用定制的软件。
1 个赞
Squoosh CLI 的完整调用入口、支持参数规范及多文件/通配符批量兼容机制。采用官方发布的 @squoosh/cli 规范作为标准参考。
1. CLI 入口与调用方式
- 独立免安装执行:
npx @squoosh/cli [options] <files...> - 全局安装执行:
npm i -g @squoosh/cli→squoosh-cli [options] <files...>
2. 多文件与批量处理兼容性
- 支持多参数平铺:
npx @squoosh/cli --webp "{}" img1.png img2.jpg img3.png - 支持通配符(Globbing):
npx @squoosh/cli -d dist --webp "{}" "src/**/*.{png,jpg}" - 并发机制:CLI 内部通过 Worker 线程池并发处理多张图片,提升批量转换吞吐量。
3. 支持参数清单
| 参数分类 | 参数项 | 默认值 | 作用与示例 |
|---|---|---|---|
| 输出控制 | -d, --output-dir <dir> |
. |
指定压缩后文件的输出目录 |
-s, --suffix <suffix> |
"" |
给生成文件名附加后缀(如 -min) |
|
| 预处理 | --resize [config] |
禁用 | 图像尺寸调整,如 '{"width": 800}' |
--quant [config] |
禁用 | 颜色量化(调色板压缩),如 '{"numColors": 128}' |
|
--rotate [config] |
禁用 | 图像旋转,如 '{"numRotations": 1}' |
|
| 格式编解码 | --mozjpeg [config] |
自动配置 | 导出 .jpg,如 '{"quality": 75}' 或 'auto' |
--webp [config] |
自动配置 | 导出 .webp,如 '{"quality": 75, "lossless": 0}' |
|
--avif [config] |
自动配置 | 导出 .avif,如 '{"cqLevel": 33}' |
|
--oxipng [config] |
自动配置 | 导出 .png,如 '{"level": 2}' |
|
--jxl [config] |
自动配置 | 导出 .jxl (JPEG-XL) |
|
--wp2 [config] |
自动配置 | 导出 .wp2 (WebP2) |
|
| 自动优化 | --max-optimizer-rounds |
6 |
自动参数优化的最大探测轮数 |
--optimizer-butteraugli-target |
1.4 |
自动优化画质目标距离(基于 Butteraugli 视觉模型) |
4. 典型批量命令示例
# 1. 批量将 images 目录下的 png/jpg 转换为 webp,输出至 output 目录
npx @squoosh/cli -d ./output --webp '{"quality":80}' ./images/*.{jpg,png}
# 2. 批量将图片缩放到宽度 1200px 并压成 AVIF 格式
npx @squoosh/cli -d ./dist --resize '{"width":1200}' --avif '{"cqLevel":30}' ./photos/*
仅供参考.
不得不说有点火星了,我用了很多年。
甚至我就因为他做了一个批量的工具
1 个赞