少走弯路,怎样把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’。
这个功能,我已经做成一个小软件了,需要的可以找我免费获取。


发表回复