本页目录
pngquant 是一种 PNG 压缩程序,可通过将图像转换为具有 alpha 通道的更有效的 8 位 PNG 格式(通常比 24/32 位 PNG 文件小 60-80%)来显着减小文件大小。压缩图像完全符合标准,并且受所有 Web 浏览器和操作系统支持。
这是官方pngquant资料库。压缩引擎也可以作为可嵌入库使用。
这个项目最吸引我的还是 ImageOptim API-自动使用的图像压缩 Web 服务pngquant。
- 官方网站: https://pngquant.org/
- GitHub: https://GitHub.com/kornelski/pngquant
来源于 GitHub
来源于官网:
用法
- 批量转换多个文件:
pngquant *.png - Unix 风格的 stdin / stdout 链接:
… | pngquant - | …
要进一步减小文件大小,请尝试使用 optipng,ImageOptim 或 zopflipng。
特征
- 高质量调色板生成
- 支持伽马校正和预乘 alpha 的高级量化算法
- 独特的抖动算法,不会给图像增加不必要的噪音
- 可配置的质量等级
- 自动查找所需的颜色数量,并可以跳过无法以所需质量转换的图像
- 快速,现代的代码
- 基于可移植的 libimagequant 库
- C99,没有针对旧版系统或编译器的解决方法(除了 Visual Studio)
- 多核支持(通过 OpenMP)和英特尔 SSE 优化
选件
请参阅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 是双重许可的:
- 在 GPL v3 或更高版本中,带有附加版权声明,必须保留该代码的较早部分。
- 或用于非 GPL 软件(例如,闭源或 App Store 发行)的商业许可。您可以通过 Super Source 获得许可证。如有任何疑问,请发送电子邮件至 kornel@pngquant.org。