记一个Python脚本--将webp图片转jpg格式

发布时间 2023-12-01 15:35:16作者: 厚礼蝎

什么是WebP图片格式?如何在线转换WebP格式?

我们有时候从互联网上下载图片会发现图片是WebP格式而不是常见的JPEG或者是PNG格式,用自带的图片处理软件无法打开,那么什么是WebP格式呢?我们该如何打开WebP格式的图片文件?需要进行图片处理的时候怎么样才能在线转换WebP格式为常用的JPG格式呢?

什么是WebP图片格式?

WebP格式,是由谷歌开发的一种旨在加快图片加载速度的图片格式,特点是图片占存储空间更小,其图片压缩的体积大约只有JPEG格式的三分之二,并能节省大量的服务器带宽资源和数据空间,也就意味着在质量相同的情况下,WebP格式图像的体积要比JPEG格式图像小40%。

但是WebP格式是一种有损压缩,相较编码JPEG文件,编码同样质量的WebP文件需要占用更多的计算资源。而且美中不足的是,WebP格式图像的编码时间也要比JPEG格式图像长8倍。

怎么打开WebP格式的图片文件?

由于WebP格式的压缩率高,图片显示效果好,占用空间更少并且加载图片速度更快,因此现在大部分人在网站上上传图片时会采用Webp格式,也就导致下载下来的图片也是WebP格式的文件,那么该如何打开呢?

WebP格式是浏览器图片格式,一般来说,可以使用浏览器打开webp文件,一般将webp文件拖拽到浏览器中即可打开,目前360、搜狗、谷歌等浏览器都支持打开webp图像文件。

但是如果电脑上没有安装浏览器,或者需要对图片进行编辑和处理的话,比如需要用PS等作图软件编辑图片时,那就需要将WebP图片格式转换成常用的JPEG或者PNG格式,那么我们该如何转换Webp格式的图片文件呢?

如何转换

这里使用python转换

依赖的库

  • OS库:读取同目录下的文件信息
  • Pillow库:读取webp格式文件转换为jpg

安装

pip install Pillow

脚本部分

import os
from PIL import Image

# os.listdir()方法获取文件夹名字,返回数组
file_name_list = os.listdir(os.getcwd())
for file_name in file_name_list:
    if file_name.endswith('.webp'):
        im = Image.open(file_name)
        if im.mode == "RGBA":
            im.load()  # required for png.split()
            background = Image.new("RGB", im.size, (255, 255, 255))
            background.paste(im, mask=im.split()[3])
        save_name = file_name.replace('webp', 'jpg')
        if not os.path.exists(save_name):
            print("%s -> %s" % (file_name, save_name))
            im.save('{}'.format(save_name), 'JPEG')
print("转换完成")