需求
在使用gitbook截图后保存在本地的图片都比较大,如果直接上传到文件服务中,也是占用比较多的空间。
所以这次考虑试试这个pngquant压缩工具。
官网
https://pngquant.org/
Gihub
https://github.com/kornelski/pngquant
python 实现
访问https://pngquant.org/直接下载 win 和 mac 平台的命令行工具包:
-
Binary for macOS
-
Binary for Windows
解压后的工具包
因为我当前使用win10系统,下载解压后工具包如下:
工具的命令行使用
https://pngquant.org/
那么如果python调用的话,可以采用os.system(cmd)的方式来执行这命令即可。
压缩图片示例代码
import os
import os.path
import sys
SelfPath = sys.path[0]
# 压缩工具
PngquantExe=SelfPath+".\pngquant\pngquant.exe" # 参考 https://pngquant.org/ 工具来实现的
def compression(filename):
# cmd = PngquantExe + " --force " + filename + " --quality 50 -o " + filename # 压缩50%的质量,直接覆盖压缩至源文件
cmd = PngquantExe + " " + filename + " --quality 50 -o out.png" # 压缩50%的质量,输出图片名称为out.png
os.system(cmd)
if __name__ == '__main__':
compression('1563928708294.png')
文件结构如下:
查看压缩过后的图片大小:
可以看到压缩图片从1004KB至282KB,压缩率还是很可观的。而且保持图片原来的尺寸,不需要裁剪图片大小。