PNG格式介绍

PNG(Portable Network Graphics),便携式网络图形,是一种采用无损压缩算法的位图格式,支持索引、灰度、RGB三种颜色方案以及Alpha通道等特性。其设计目的是试图替代GIF和TIFF文件格式,同时增加一些GIF文件格式所不具备的特性。PNG使用从LZ77派生的无损数据压缩算法,一般应用于JAVA程序、网页或S60程序中,原因是它压缩比高,生成文件体积小。PNG文件的扩展名为.png

Webp格式介绍

不想写

使用Pillow转换

使用的Python的图像库Pillow中 Image.open().save()函数来做图片的处理

1
2
im = Image.open('./imagining.png') #读入文件
im.save('./imagining.webp') #保存

批量的目录读取+转化

使用os.walk()来读取指定目录和目录下的所有文件信息,遍历后对匹配的文件进行Pillow的函数转化。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import os
from PIL import Image

#im = Image.open("./ephemeral.png") #读入文件
#im.save("./ephemeral.webp") #保存

def pic_webp(picpath):
imagePath = picpath.split(".")[0] #文件名称
outputPath = imagePath +".webp"#输出文件名称
im = Image.open(picpath) #读入文件
im.save(outputPath) #保存

for dirpath,dirname,dirfiles in os.walk("./",topdown=False):
for dirfile in dirfiles:
if dirfile.split(".")[1] in ["png","jpeg","jpg"]:
pic_webp(dirfile)

结语

如果你没有安装Pillow,请先安装Pillow。

1
pip install Pillow