有没有办法将 HEIC 图像转换为 JPG 并在 Mac 上保留时间戳?

问题描述 投票:0回答:2

我有一个文件夹,其中包含从 iPhone 传输的大量 .heic 文件,出于与另一个无法读取 HEIC 的软件的兼容性原因,我需要将这些文件保存为 JPG 格式。我尝试了各种方法,它们都创建了具有自己时间戳的新文件,这些文件不尊重原始照片的创建和修改时间。

bash command-line-interface jpeg converters heif
2个回答
1
投票

我会使用 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

0
投票

使用 ImageMagick:

convert * %03d.jpg
© www.soinside.com 2019 - 2024. All rights reserved.