用 pngquant 批量压缩 PNG

把 PNG 量化为 256 色调色板,在截图和网页图形上几乎看不出差异的前提下大幅减小体积。

Linux批处理PNG压缩pngquant PNG 压缩中风险
执行 pngquant --quality=65-80 --skip-if-larger --ext .png --force *.png 即可原地压缩所有 PNG,并跳过压缩后反而变大的文件。

01命令

命令
$ pngquant --quality=65-80 --skip-if-larger --ext .png --force *.png

02作用说明

pngquant 通过抖动技术把 32 位 RGBA PNG 转为 8 位调色板图,通常能减小 60%-80%,远超 optipng 的无损优化。--quality=65-80 表示量化质量低于 65 时拒绝写出文件,--skip-if-larger 保证任何文件都不会变大。--ext .png --force 组合用于原地覆盖;配合 find -name '*.png' -exec 可处理整棵目录树。

03风险

风险中风险
使用条件pngquant (sudo apt install pngquant / sudo dnf install pngquant)
!注意: 这是有损量化:渐变和照片可能出现色带。请保留原图,需要无损的图片不要用 pngquant。

04撤销

✓无需撤销——该命令不会改变持久状态。

05来源

  • pngquant README
    pngquant (GitHub) · community · 2026-09-17
    依据: States pngquant 'converts RGBA PNGs to 8-bit palette PNGs' with typical savings of 60-80% and lossy-but-near-transparent quality.
  • pngquant(1) — Linux man page
    Ubuntu Manpages · technical · 2026-09-17
    依据: pngquant man page documenting --quality min-max, --ext, --force, --skip-if-larger and in-place batch conversion of PNGs.

最后验证: 2026-09-17 · 分类: 媒体