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()