heic图像转jpg有什么简单的方法?苹果手机图片转成常用图片

heic图片是苹果手机上专用的一种图片格式,在特定的手机上可以正常展示。如果放到别的设备上就不能正常查看。为了顺利分享图片,所以我们需要把heic转换成常用的jpg图片格式。

使用编程的方式实现转换。

示例代码:

import os
import argparse
from PIL import Image
import pillow_heif

# 注册HEIF图像插件
pillow_heif.register_heif_opener()

def heic_to_jpg(input_path, output_path=None, quality=90):
    """
    将HEIC图像转换为JPG格式
    
    参数:
        input_path: 输入HEIC图像路径
        output_path: 输出JPG图像路径,默认为输入路径同名JPG文件
        quality: JPG图像质量,范围1-100,默认90
    """
    try:
        # 打开HEIC图像
        with Image.open(input_path) as img:
            # 如果未指定输出路径,使用输入文件名但更改扩展名
            if output_path is None:
                base_name = os.path.splitext(input_path)[0]
                output_path = f"{base_name}.jpg"
            
            # 转换并保存为JPG
            img.convert("RGB").save(output_path, "JPEG", quality=quality)
            print(f"成功转换: {input_path} -> {output_path}")
            return output_path
    except Exception as e:
        print(f"转换失败: {input_path}, 错误: {str(e)}")
        return None

def batch_convert(directory, quality=90):
    """
    批量转换目录中的所有HEIC图像为JPG
    
    参数:
        directory: 目录路径
        quality: JPG图像质量
    """
    if not os.path.isdir(directory):
        print(f"错误: 目录不存在 - {directory}")
        return
    
    converted_count = 0
    for filename in os.listdir(directory):
        if filename.lower().endswith(('.heic', '.heif')):
            input_path = os.path.join(directory, filename)
            heic_to_jpg(input_path, quality=quality)
            converted_count += 1
    
    print(f"批量转换完成,共转换 {converted_count} 个文件")

def main():
    """命令行入口函数"""
    parser = argparse.ArgumentParser(description='HEIC图像转JPG工具')
    parser.add_argument('--input', '-i', help='输入HEIC文件路径或目录')
    parser.add_argument('--output', '-o', help='输出JPG文件路径(仅当输入为单个文件时有效)')
    parser.add_argument('--quality', '-q', type=int, default=90, help='JPG质量(1-100),默认90')
    parser.add_argument('--batch', '-b', action='store_true', help='批量转换目录中的所有HEIC文件')
    
    args = parser.parse_args()
    
    if not args.input:
        print("错误: 必须指定输入文件或目录")
        parser.print_help()
        return
    
    if args.batch:
        batch_convert(args.input, args.quality)
    else:
        # 单文件转换
        if os.path.isfile(args.input) and args.input.lower().endswith(('.heic', '.heif')):
            heic_to_jpg(args.input, args.output, args.quality)
        else:
            print("错误: 输入文件不是有效的HEIC文件")

if __name__ == "__main__":
    main()   

这个脚本可以将HEIC格式的图像转换为JPG格式。它支持:
1. 单文件转换
2. 批量转换目录中的所有HEIC文件
3. 可自定义JPG输出质量

使用方法示例:
1. 转换单个文件:`python heic_to_jpg.py -i input.heic -o output.jpg`
2. 批量转换目录中所有HEIC文件:`python heic_to_jpg.py -i /path/to/heic/files -b`
3. 指定输出质量:`python heic_to_jpg.py -i input.heic -q 85`

运行前请确保安装了必要的依赖库:`pip install pillow pillow-heif`

如果我们对程序不是很熟悉,可以借助界面话的“汇帮HEIC转换器”工具来实现批量转换。

heic图像转jpg有什么简单的方法?苹果手机图片转成常用图片_第1张图片

这个方法不仅可以把heic转换成jpg,还能转换成png,webp等格式的图片,操作起来也很简单。

你可能感兴趣的:(heic转jpg,heic转换,heic格式转换)