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
[b2_file link="https://cdn.getimg.net/npc/2019/github/pngquant-github-20191127.zip" name="pngquant-github-20191127.zip" pass="" code=""]
来源于官网:
[b2_file link="https://cdn.getimg.net/npc/2019/github/pngquant-2.12.5-src.tar.gz" name="pngquant-2.12.5-src.tar.gz" pass="" code=""]
用法
- 批量转换多个文件:
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。