现在,许多浏览器默认将图片保存为WebP格式,这是一种高效的图像压缩格式,可以提供更小的文件大小和更快的加载速度。有时我们可能需要将WebP格式的图片转换为其它常见的图片格式,以便更广泛地使用和共享。
我们可以使用的Python写一个WEBP to JPG工具。可以快速将当前目录下的所有WebP格式的图片转换为JPEG格式,并保存在相同的目录下。运行这个脚本非常简单。首先,确保你已经安装了Python和Pillow库(Pillow是一个Python图像处理库,可以处理各种图像格式)。然后,将下面的代码保存为一个Python文件(例如webp_to_jpeg.py):
import os
from PIL import Image
# 获取当前目录下的所有文件名
file_name_list = os.listdir(os.getcwd())
for file_name in file_name_list:
if file_name.endswith('.webp'):
# 构建文件路径
file_path = os.path.join(os.getcwd(), file_name)
# 打开WebP图片
im = Image.open(file_path)
# 检查图片的模式是否为"RGBA"(带有透明通道)
if 'A' in im.getbands():
# 创建白色背景图片
background = Image.new("RGB", im.size, (255, 255, 255))
# 将WebP图片粘贴到背景上,处理透明通道
background.paste(im, mask=im.split()[3])
# 生成新的文件名,将'.webp'替换为'.jpg'
save_name = file_name.replace('.webp', '.jpg')
# 构建保存路径
save_path = os.path.join(os.getcwd(), save_name)
# 如果生成的JPEG文件不存在,保存图片为JPEG格式
if not os.path.exists(save_path):
print(f"{file_name} -> {save_name}")
background.save(save_path, 'JPEG')
elif file_name.endswith('.webp.jpg'):
# 如果文件名以'.webp.jpg'结尾,说明已经被保存为JPEG格式
print(f"{file_name} 已经被保存为JPEG格式")
else:
# 如果不带有透明通道,直接保存为JPEG格式
save_name = file_name.replace('.webp', '.jpg')
save_path = os.path.join(os.getcwd(), save_name)
if not os.path.exists(save_path):
print(f"{file_name} -> {save_name}")
im.save(save_path, 'JPEG')
input("回车结束操作")首先,我们导入了os和PIL库。os库用于操作文件和目录,PIL库用于处理图像。如果生成的JPEG文件不存在,我们使用background.save(save_path, 'JPEG')将图片保存为JPEG格式,并打印出转换前后的文件名。
最后,通过input("回车结束操作")等待用户按下回车键,以结束操作。
最后打包了EXE文件(要转换的.webp格式的图片和转换软件在同一目录下),双击软件自动运行;
