开发一款图片压缩工具:使用 pngquant 实现图片压缩

本文介绍了如何使用pngquant库进行PNG图片的有损压缩,对比了pngquant与pillow库的压缩效果,强调了pngquant在压缩效率和透明度保持上的优势。并详细阐述了pngquant的安装、命令行使用以及通过Python的subprocess模块调用pngquant进行图片压缩的方法。
摘要由CSDN通过智能技术生成

活动地址:CSDN21天学习挑战赛

开发一款图片压缩工具(二):使用 pngquant 实现图片压缩

上一篇我尝试使用了 pillow 库对 png 图片进行了压缩,效果不好。这次我换用 pngquant 来压缩。
pngquant 是用于 PNG 图像有损压缩的命令行实用程序和库。压缩程序会显著减小文件大小(通常高达70%),并保持完全的alpha透明度。通过使用alpha通道将图像转换为更高效的8位PNG格式(通常比24/32位PNG文件小60-80%)。

pngquant 使用的算法主要是中值切割量化算法的改进版和 K-means 颜色校正。得到的图片颜色差异肉眼几乎无法察觉。

这是 pngquant 优化后的图片,几乎看不出区别:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y5WaSNV8-1587906286900)(https://i.loli.net/2020/04/26/auF7ZfdS1AJmqEP.jpg)]

这是 pillow 同样采用中值切割和 k-means 得到的优化效果, 云彩有明显颜色过渡不自然问题:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DFQtx71g-1587906286913)(https://i.loli.net/2020/04/24/Yw2V4m8OKjgQfMW.jpg)]

pngquant 压缩库安装

pngquant 提供了源码、命令行和 GUI 等多种形式。GUI 的工具目前来说还比较难用,并没有命令行方便,而源码形式可以通过 ctype 使用 python语言去调用 c 源码。但是目前对这方面还不怎么了解,可以后面再去使用 so 动态库等方式。

所以,先用命令行形式进行 PNG 压缩。

1,下载 windows安装包 或者 mac 和 linux 版本的安装包。

2,命令行输入 pngquant

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值