这里有新鲜出炉的Python3 Cookbook中文版,程序狗速度看过来!
Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。
最近因为工作需要去研究了下png的压缩,发现转换成webp格式可以小很多,下面给大家分享利用Python将图片批量从png格式转换至WebP格式的方法,下面来一起看看。
实现效果
将位于
目录下的1000张
- /img
图片,转换成
- .png
格式,并存放于
- .webp
文件夹内。
- img_webp
源图片目录
目标图片目录
关于批量生成1000张图片,可以参考这篇文章:利用Python批量生成任意尺寸的图片
实现示例
- import glob
- import os
- import threading
- from PIL import Image
- def create_image(infile, index):
- os.path.splitext(infile)
- im = Image.open(infile)
- im.save("img_webp/webp_" + str(index) + ".webp", "WEBP")
- def start():
- index = 0
- for infile in glob.glob("img/*.png"):
- t = threading.Thread(target=create_image, args=(infile, index,))
- t.start()
- t.join()
- index += 1
- if __name__ == "__main__":
- start()
注意:该项目需要引用
库。
- PIL
考虑到是大量的线性密集型运算,因此使用了多线程并发。通过
创建线程对象时注意,
- threading.Thread()
参数仅接受元祖。
- args
在这里,我们使用
函数打开图像。
- Image.open()
最终调用
方法,以指定格式写入指定位置。其中
- save("img_webp/webp_" + str(index) + ".webp", "WEBP")
参数为目标格式。
- format
好了,这篇文章的内容到这就基本结束了,大家都学会了吗?希望对大家的学习和工作能有一定的帮助。
来源: http://www.phperz.com/article/17/1027/351449.html