我们在写文章或者建网站时,经常需要对图片压缩处理,以便帮助用户节省流量和提升网站加载速度。
图片压缩有很多方法,这里推荐的是TinyPNG。TinyPNG 是一个在线压缩工具,主要优点是在视觉上没有明显变化的情况下达到很高的压缩比(如我手机截屏图片大小一般为110k,压缩后能达到30k左右)。
TinyPNG官网: https://tinypng.com/
TinyPNG支持一次最多上传20张图片,图片最大5M。
如果处理的图片比较少则使用在线压缩即可,非常方便,但如果图片处理量比较大,使用在线压缩一次一次的上传下载则显得有些麻烦了,因此用Python写了一个简单的脚本,用于批量压缩图片。
第一步、申请 API key
到此处申请 API key: https://tinypng.com/developers
一个 key 每个月可以免费压缩500张图片,可以申请多个 key。
第二步、下载脚本
需要简单编辑一下该脚本,将申请到到API key 填写进去。
tinify.key = "你申请到的API key"
第三步、压缩PY实施执行
支持参数,在 v1.0.1 版本中进行了参数支持
001、压缩当前文件夹下所有图片文件,实施运行指令:tinypng.py
002、压缩指定的单个图片文件,实施运行指令:tinypng.py -f /User/GcsSloop/demo.jpg
003、压缩指定文件夹下所有图片文件,实施运行指令:tinypng.py -d /User/GcsSloop/DemoDir
004、压缩后图片的宽度,不指定则宽度不变tinypng.py -w 300
注:其中-F 和-D不支持同时使用,-w 用于指定压缩后图片的宽度(width)高度自适应缩放,支持参数混合使用,(选项没有先后顺序)示例如下:
tinypng.py -w 300 // 压缩当前目录所有图片文件,压缩后文件跨度为300 tinypng.py -w 300 -f /User/GcsSloop/demo.jpg // 指定压缩一个文件,压缩后文件宽度为300
第四步、平台接口定价
每月前 500 次按压是免费的。只有当您压缩超过 500 张图像时,您才会被计费。
超过部分9500 张图像压缩,每张图片 0.009 美元;
10 000 次图像压缩后,每张图片 0.002 美元;
注意事项:
1、需要下载:click、tinify 两个库;
安装指令:
pip install --index-url https://pypi.tuna.tsinghua.edu.cn/simple click pip install --index-url https://pypi.tuna.tsinghua.edu.cn/simple tinify
2、一个账号可以申请多个API参数;
【2024-06-05】
,某些文章具有时效性,若有错误或已失效,请在联系客服