无名 发表于 2022-5-8 20:23:20

【FUT】10 行 Python 代码,批量压缩图片 500 张

首先我们要用到的工具:python3(说的废话),tinypng网站,第三方库

我们先来介绍tinypng网站是什么:Tinypng是一款来自国外的在线图片压缩云应用,完全免费无需注册。Tinypng采用的压缩图片方式是有损压缩,也就是说你上传的PNG图片经过压缩后,部分颜色信息会丢失。
Tinypng是什么?Tinypng的基本介绍.jpg
Tinypng的基本介绍
批量图片压缩原理:使用智能的无损压缩技术来减少图片文件的大小,通过智能的选择颜色的数量,减少存储的字节,但是效果基本是和压缩前一样的。
批量压缩图片后,10张压缩图片以内,支持打包下载,多了不允许下载,在有 BUG 的情况下请联系站长反馈。
Tinypng支持格式
在线图片压缩,支持[.jpg] 、[.jpeg] 、[.png]、[.bmp]、还支持[.webp]格式。
Tinypng的使用
24位的PNG图片上传经过压缩会变成8位的PNG图片,70%的压缩率就是这样来的,如果仔细观看图片还是能发现和原图是有差别的,特别是渐变过渡。
以上是关于Tinypng的内容

这个网站也是非常良心,开放了免费的 API ,API 取消了每张大小的限制,只限定每个月处理 500 张图片。这对我来说,已经足足有余了。

下面介绍怎么使用它。第一步是在它网站上注册,获得专属的 API_KEY。使用的是邮箱注册,很简单。

然后是安装 package:

pip install --upgrade tinify

import tinify
import os

tinify.key = '此处填入你的key'
path = "C:\\Users\\yunpoyue\\Pictures\\cat" # 图片存放的路径

for dirpath, dirs, files in os.walk(path):
    for file in files:
      imgpath = os.path.join(dirpath, file)
      print("compressing ..."imgpath)
      tinify.from_file(imgpath).to_file(imgpath)
不到 10 行代码,轻轻松松就批量压缩图片,简直不要太爽!20 M 的图片能压缩到 2 M,压缩率达到惊人的 90%,成绩喜人。

它的API还提供图片裁剪、加水印、保存压缩图片至云服务商(亚马逊云、谷歌云)等功能,非常强大。除压缩过程有点慢,其它无可挑剔。

以上是个人觉得[玫瑰][玫瑰][玫瑰][玫瑰][玫瑰][玫瑰][玫瑰]
http://cdn.u1.huluxia.com/g3/M02/D5/61/wKgBOV2Sw4qAI5EAAALoOJrqWgQ518.jpghttp://cdn.u1.huluxia.com/g3/M02/D5/61/wKgBOV2Sw4uACBxPAADGdIwcUE0571.jpghttp://cdn.u1.huluxia.com/g3/M03/D5/77/wKgBOV2SyqiAWShbAAFAkInV5R0717.jpghttp://cdn.u1.huluxia.com/g3/M03/D5/77/wKgBOV2SyrGAAtwNAAQgAF0pRrM506.jpghttp://cdn.u1.huluxia.com/g3/M03/D5/77/wKgBOV2SyrOAFaVWAAGsAMPjAqs915.jpghttp://cdn.u1.huluxia.com/g3/M03/D5/77/wKgBOV2SyrSAZoPHAADEAGtrFO0184.jpg
页: [1]
查看完整版本: 【FUT】10 行 Python 代码,批量压缩图片 500 张