Npcink Blog
切换菜单

Pngquant - 有损 PNG 压缩器

有损 PNG 压缩器—基于 libimagequant 库的 pngquant 命令

本页目录13 节

pngquant 是一种 PNG 压缩程序,可通过将图像转换为具有 alpha 通道的更有效的 8 位 PNG 格式(通常比 24/32 位 PNG 文件小 60-80%)来显着减小文件大小。压缩图像完全符合标准,并且受所有 Web 浏览器和操作系统支持。

这是官方pngquant资料库。压缩引擎也可以作为可嵌入库使用。

这个项目最吸引我的还是 ImageOptim API-自动使用的图像压缩 Web 服务pngquant。

来源于 GitHub

来源于官网:

用法

  • 批量转换多个文件: pngquant *.png
  • Unix 风格的 stdin / stdout 链接: … | pngquant - | …

要进一步减小文件大小,请尝试使用 optipng,ImageOptim 或 zopflipng。

特征

  • 高质量调色板生成
  • 支持伽马校正和预乘 alpha 的高级量化算法
  • 独特的抖动算法,不会给图像增加不必要的噪音
  • 可配置的质量等级
  • 自动查找所需的颜色数量,并可以跳过无法以所需质量转换的图像
  • 快速,现代的代码

选件

请参阅pngquant -h完整列表。

--quality min-max

min和max介于 0(最差)到 100(完美)之间的数字,类似于 JPEG。pngquant 将使用达到或超过max质量要求的最少颜色数量。如果转换后的质量低于min质量,则将不会保存图像(如果输出到 stdin,则将输出 24 位原始图像),并且 pngquant 会退出,并显示状态码 99。

pngquant --quality=65-80 image.png

--ext new.png

设置输出文件名的自定义扩展名(后缀)。默认情况下-or8.png还是-fs8.png使用。如果使用--ext=.png --force选项,则 pngquant 将覆盖输入文件(请谨慎使用)。

-o out.png 要么 --output out.png

将转换后的文件写入给定路径。使用此选项时,仅允许单个输入文件。

--skip-if-larger

如果转换不值得,请不要编写转换后的文件。

--speed N

速度/质量的权衡从 1(最慢,最高质量,最小文件)到 11(最快,不太稳定的质量,轻压缩)。默认值为 4。除非您需要实时生成图像(例如地图图块),否则建议保留默认值。较高的速度可以处理 256 色,但不能很好地处理较少的颜色。

--nofs

禁用 Floyd-Steinberg 抖动。

--floyd=0.5

控制抖动级别(0 =无,1 =满)。请注意,该=字符是必需的。

--posterize bits

通过位数减少调色板的精度。当图像将显示在低深度屏幕(例如 16 位显示器或 ARGB444 格式的压缩纹理)上时使用。

--strip

不要复制可选的 PNG 块。在 Mac 上(使用 Cocoa 阅读器时)总是会删除元数据。

有关选项的完整列表,请参见手册页(man pngquant)。

执照

pngquant 是双重许可的: