现在,许多浏览器默认将图片保存为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格式的图片和转换软件在同一目录下),双击软件自动运行;