想寻找一款压缩图片大小的库。
背景: 我是用 vscode 中使用 paste image 给自己的 markdown 插入截图,大部分是 png 图,有些比较大需要压缩一下。
我谷歌搜索了一些压缩图片的方法:
- 使用 python 的 PIL.Image 自带的
pic.save("a.png",optimize=True,quality=80)压缩, 35K 能到 27K ,压缩效率不太高( png quality 再降低不会有影响了) -
改用 webp 格式:
p.save('a.png.webp', 'webp', optimize = True, quality = 88)35K 压缩到 15K, 质量刚好能接受,不过体积希望尽可能小p.save('a.png.webp', 'webp', optimize = True, quality = 50)到 8k 图片质量有点糊了,不理想。
-
使用在线的 tinypng 压缩,输出格式 png ,压缩到了 8K ,质量非常好,没有失真
- 看了输出的格式,发现 tinypng 是把
8-bit/color RGBA转成了8-bit colormap - tinypng 提供 api 实现压缩,每月有免费额度,还是挺不错的
- 不过我的需求还是离线用,我找到一篇 colormap 文章,自己实现看起来要花很多时间 https://towardsdatascience.com/simple-steps-to-create-custom-colormaps-in-python-f21482778aa2
- 看了输出的格式,发现 tinypng 是把
有更好的离线方案、库吗?