公告
  
欢迎回来!目前网站流量日益增多服务器负载太大,迫不得已开启邀请码注册,此为赞助,所得费用来续费服务器,感谢支持

朕已阅

WEBP(图片) to JPG

wt2020 wt2020 关注 网站创作者 36级
发表于源码分享版块

现在,许多浏览器默认将图片保存为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库用于处理图像。

接下来,通过os.listdir(os.getcwd())获取当前目录下的所有文件名,并存储在file_name_list列表中。

然后,我们使用for循环遍历file_name_list中的每个文件名。

如果文件名以.webp结尾,说明是WebP格式的图片,我们构建文件路径file_path,然后使用Image.open(file_path)打开该图片。

接着,我们检查图片的模式是否为"RGBA"(带有透明通道)。如果是,我们创建一个白色背景图片background,然后使用background.paste(im, mask=im.split()[3])将WebP图片粘贴到背景上,并处理透明通道。

接下来,我们生成新的文件名,将.webp替换为.jpg,并构建保存路径save_path。

如果生成的JPEG文件不存在,我们使用background.save(save_path, 'JPEG')将图片保存为JPEG格式,并打印出转换前后的文件名。


如果文件名以.webp.jpg结尾,说明已经被保存为JPEG格式,我们打印出该文件名,并跳过后续操作。

如果图片不带有透明通道,我们直接将文件名中的.webp替换为.jpg,生成新的文件名和保存路径,并将图片保存为JPEG格式。

最后,通过input("回车结束操作")等待用户按下回车键,以结束操作。


最后打包了EXE文件(要转换的.webp格式的图片和转换软件在同一目录下),双击软件自动运行;

Image


软件下载:WEBP_to_JPG-图片转换(提取码:9009)
评论列表 评论
xtyituo xtyituo 普通会员 25级 2#
无任何商业目的
共0条回复,点击查看回复
发布评论

评论: WEBP(图片) to JPG

(0) 收藏文章
已有0次打赏