Windows实用技巧

iPhone手机相片HEIC转换JPG

admin · 9月10日 · 2025年 · · · · 本文共1280个字 · 预计阅读5分钟 224次已读

下载地址:

阿里云盘下载

一、代码保存为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

0 条回应