我们在写文章或者建网站时,经常需要对图片压缩处理,以便帮助用户节省流量和提升网站加载速度。图片压缩有很多方法,这里推荐的是TinyPNG。TinyPNG 是一个在线压缩工具,主要优点是在视觉上没有明显变化的情况下达到很高的压缩比(如我手机截屏图片大小一般为110k,压缩后能达到30k左右)。TinyPNG官网: https://tinypng.com

扫码分享
二维码

详细介绍

我们在写文章或者建网站时,经常需要对图片压缩处理,以便帮助用户节省流量和提升网站加载速度。

图片压缩有很多方法,这里推荐的是TinyPNG。TinyPNG 是一个在线压缩工具,主要优点是在视觉上没有明显变化的情况下达到很高的压缩比(如我手机截屏图片大小一般为110k,压缩后能达到30k左右)。

TinyPNG官网: https://tinypng.com/

TinyPNG支持一次最多上传20张图片,图片最大5M。

如果处理的图片比较少则使用在线压缩即可,非常方便,但如果图片处理量比较大,使用在线压缩一次一次的上传下载则显得有些麻烦了,因此用Python写了一个简单的脚本,用于批量压缩图片。

第一步、申请 API key

到此处申请 API key: https://tinypng.com/developers

一个 key 每个月可以免费压缩500张图片,可以申请多个 key。

微信截图_20240605154417 (1).png

第二步、下载脚本

需要简单编辑一下该脚本,将申请到到API key 填写进去。

tinify.key = "你申请到的API key"


tinypng.rar

第三步、压缩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参数;