是否有一种方法将HEIC图像转换为在mac上保持时间戳的JPG ?



我有一个文件夹,里面有大量的。HEIC文件从我的iPhone上传输过来,我需要以JPG格式保存,因为另一个软件无法读取HEIC。我尝试了各种方法,他们都创建了新的文件,有自己的时间戳,不尊重原始照片的创建和修改时间。

我将使用libheif中的heif-convert cli实用程序来进行转换,但任何其他实现都可以。然后,考虑到所有文件都以区分大小写的.heic结尾,我将遍历该文件夹中的文件(即打开终端并cd到包含要转换的图像的文件夹)。对于每个文件,循环将heic转换为jpg格式,转换后,从原始文件读取btime,并使用例如SetTime将其设置为创建和修改日期。你也可以用touch来代替SetTime,但是那个命令会以另一种格式接收它的输入。

下面是我用来解决这个问题的一小段代码。

for file in *.heic; do 
echo "Converting $file to ${file%%.heic}.jpg"
heif-convert "$file" ${file%%.heic}.jpg
echo "reading original creation date"
date=$(stat -f "%SB" -t "%m/%d/%y %H:%M:%S" "$file")
echo "writing original creation date as modification and creation date"
SetFile -md "$date" ${file%%.heic}.jpg
done

最新更新