下载地址:
一、代码保存为heic_to_jpg_gui.py
import os
import tkinter as tk
from tkinter import filedialog, messagebox
from PIL import Image
import pillow_heif
def convert_heic_to_jpg(input_folder, output_folder=None):
if output_folder is None:
output_folder = os.path.join(input_folder, "converted_jpg")
os.makedirs(output_folder, exist_ok=True)
converted = 0
failed = 0
for file_name in os.listdir(input_folder):
if file_name.lower().endswith(".heic"):
heic_path = os.path.join(input_folder, file_name)
jpg_name = os.path.splitext(file_name)[0] + ".jpg"
jpg_path = os.path.join(output_folder, jpg_name)
try:
heif_file = pillow_heif.open_heif(heic_path)
image = Image.frombytes(
heif_file.mode,
heif_file.size,
heif_file.data,
"raw"
)
image.save(jpg_path, "JPEG", quality=95)
converted += 1
except Exception as e:
failed += 1
print(f"❌ 转换失败: {file_name}, 错误: {e}")
return converted, failed, output_folder
def main():
root = tk.Tk()
root.withdraw()
input_dir = filedialog.askdirectory(title="选择 HEIC 照片文件夹")
if not input_dir:
messagebox.showinfo("取消", "没有选择文件夹,程序退出。")
return
converted, failed, out_dir = convert_heic_to_jpg(input_dir)
messagebox.showinfo(
"完成",
f"✅ 转换完成!\n\n成功: {converted} 张\n失败: {failed} 张\n输出目录: {out_dir}"
)
if __name__ == "__main__":
main()
二、打包
cmd中执行下面命令,安装依赖
pip install pillow pillow-heif pyinstaller
执行下面命令打包:
pyinstaller --onefile --windowed heic_to_jpg_gui.py
打包完成后,dist 文件夹里会生成:
heic_to_jpg_gui.exe
