批量webp&avif转png小工具.1.2

自己是做电商的,有时候保存下来的图片是webp格式的.
写了个小工具.能把目录内的webp格式的图片转化成png.

0329更新 1.2
没想到用的人还挺多的..后面有坛友反馈加个avif支持.
在加的过程中发现,有不少avif属性的webp格式的文件.
这次一起优化了.
目前可以对avif和webp格式进行转化,如果是avif属性的webp也能判断转换了
顺手把界面美化了下~

增加拖拽功能,把目录拖拽到选择目录的按钮上就可以了.


PS:用python打包的,为了兼容性,文件会比较大..

1.2应该是最终版了

批量webp&avif转png小工具.1.2

下载地址:蓝奏网盘:https://crk.lanzouu.com/iMpTr2s1vhid

Python代码一起附上.

import os
from PIL import Image
import tkinter as tk
from tkinter import filedialog, messagebox

def convert_webp_to_png(directory_path):
    converted_count = 0
    for root, dirs, files in os.walk(directory_path):
        for file in files:
            if file.endswith('.webp'):
                webp_path = os.path.join(root, file)
                png_path = os.path.splitext(webp_path)[0] + '.png'
                try:
                    image = Image.open(webp_path)
                    image.save(png_path, 'PNG')
                    os.remove(webp_path)
                    converted_count += 1
                except Exception as e:
                    messagebox.showerror("转换错误", f"文件'{file}'转换失败:{str(e)}")

    messagebox.showinfo("转换完成", f"成功转换 {converted_count} 个文件!")

def select_directory():
    directory = filedialog.askdirectory()
    if directory:
        directory_label.config(text=directory)

def convert_files():
    directory_path = directory_label.cget("text")
    if directory_path:
        convert_webp_to_png(directory_path)

# 创建主窗口
window = tk.Tk()
window.title("WebP转换PNG- - - -云时出品- -")
window.geometry("350x100")

# 创建选择目录按钮
select_button = tk.Button(window, text="选择目录", command=select_directory)
select_button.pack()

# 创建显示目录路径的标签
directory_label = tk.Label(window, text="")
directory_label.pack()

# 创建执行转换按钮
convert_button = tk.Button(window, text="执行转换", command=convert_files)
convert_button.pack()

# 显示窗口
window.mainloop()

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 共29条

请登录后发表评论