少走弯路,怎样把heic文件批量转换成jpg

HEIC 是 High Efficiency Image File 的缩写,是苹果公司发布的一种照片格式。它是 iOS 11 及更高版本上的原生图像格式。您可以在 Windows 上查看 HEIC 格式照片,但是很遗憾,很多软件不能编辑此类文件,于是我们需要做一个把heic文件批量转换成jpg的小工具。

如果不做成可执行文件,代码非常简单,我们只需要用到`Pillow`和`pillow_heif`这两个库,先安装一下:

pip install Pillow pillow_heif

图片处理函数很简单,其实有用的就只有几行代码,我这里把处理好的jpg图片保存在heic目录下的`jpg`文件夹下面了。

def convert_files(file_list):
    register_heif_opener()
    file_count = len(file_list)
    for i, file in enumerate(file_list):
        try:
            new_path = os.path.dirname(file) + '/jpg'      
            basename = os.path.basename(file)              
            new_filename = os.path.splitext(basename)[0] + '.jpg'
            if not os.path.exists(new_path):
                os.makedirs(new_path)
            new_file = new_path + '/' + new_filename            
            img = Image.open(file)    
            rgb_img = img.convert("RGB")
            rgb_img.save(new_file)
        except Exception as e:
            messagebox.showerror(title='出错啦',message=str(e))
            continue
    messagebox.showinfo("处理完成,", f"共处理了 {file_count} 个文件.")

这里有个坑,如果没有`register_heif_opener() `的话,Pillow是不能读取,会报错:cannot identify image ‘xxxxx’。

这个功能,我已经做成一个小软件了,需要的可以找我免费获取。

发布日期:2023-03-07 浏览次数:589

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注