Macos 如何将图像从TIFF转换为JPG,保留注释和标记
例如,我正在使用预览(OSX El Capitan附带的)功能将文件格式TIFF格式转换为JPG格式。我希望导出过程将包含原始注释,但它没有发生(它也适用于标记字段) 生成的JPG文件没有注释 压缩和更改图像格式可以工作,但不会导出注释或标记等元信息Macos 如何将图像从TIFF转换为JPG,保留注释和标记,macos,Macos,例如,我正在使用预览(OSX El Capitan附带的)功能将文件格式TIFF格式转换为JPG格式。我希望导出过程将包含原始注释,但它没有发生(它也适用于标记字段) 生成的JPG文件没有注释 压缩和更改图像格式可以工作,但不会导出注释或标记等元信息 关于如何包含该信息的任何建议或解决方法。我需要转换大约500张图像,因此手动复制/粘贴对我不起作用。更新的答案 根据您的评论,我认为最好的方法是尝试并确定每个平台(Windows与macOS)的评论存储方式/位置,然后决定今后使用哪种方法 ma
关于如何包含该信息的任何建议或解决方法。我需要转换大约500张图像,因此手动复制/粘贴对我不起作用。更新的答案 根据您的评论,我认为最好的方法是尝试并确定每个平台(Windows与macOS)的评论存储方式/位置,然后决定今后使用哪种方法 macOS Finder/Spotlight注释在Windows上不清晰,因此如果您想要Windows兼容性,则需要在JPEG或EXIF注释上进行标准化 我建议使用
exiftool
,您可以使用homebrew
安装该工具,使用:
brew install exiftool
然后,我建议您尝试从文件中提取注释,以查看它们的存储方式/位置:
exiftool -a image.jpg
将在image.jpg
中显示所有标记。您的评论可能在以下位置:
- 注释-哪个是JPEG注释,或者
- EXIF:UserComment-哪个是EXIF注释
exiftool -comment image.jpg # extract JPEG comment
exiftool -EXIF:UserComment image.jpg # extract EXIF UserComment
exiftool -comment="FUNKY JPEG COMMENT" image.jpg # set JPEG comment
exiftool -EXIF:UserComment="FUNKY EXIF USER COMMENT" image.jpg # set EXIF UserComment
添加选项-s3
以抑制上面的字段名,从而避免解析它们
同样,您可以使用以下选项设置注释:
exiftool -comment image.jpg # extract JPEG comment
exiftool -EXIF:UserComment image.jpg # extract EXIF UserComment
exiftool -comment="FUNKY JPEG COMMENT" image.jpg # set JPEG comment
exiftool -EXIF:UserComment="FUNKY EXIF USER COMMENT" image.jpg # set EXIF UserComment
您还可以通过以下方式将EXIF用户注释提取到CSV:
exiftool -EXIF:UserComment -csv *.jpg
SourceFile,UserComment
a.jpg,FUNKY EXIF:UserComment
b.jpg,b FUNKY EXIF:UserComment
您还可以应用CSV中的注释
您还应该能够使用我的主要答案中的脚本提取macOS/Spotlight/Finder注释:
$HOME/macOSGetFinderComment "/Users/someone/soneFile.tif"
原始答案
我建议您使用ImageMagick尝试以下操作
首先,使用Finder或您熟悉的任何其他工具,将您的照片(包括整个目录结构)复制到某个新位置,在那里我们不会损坏您现有的照片。因此,假设您将整个TIFs树复制(而不是移动)到主目录中名为“NEW”的子目录中
然后启动终端并将目录更改为“新建”:
简易方法
如果所有TIF都在一个或两个目录中,只需使用mogrify
:
mogrify -format jpg *.tif
更难的方法
如果TIF文件位于多个目录中,则需要更加努力地工作。在端子内部复制并粘贴以下内容:
find NEW -name \*.tif -exec sh -c 'new="${1%.tif}.jpg"; convert "{}" "$new"' _ {} \;
开始在“NEW”目录中查找名为“*.tif”的文件。找到一个后,它将启动一个新的shell(sh
),并将TIF的文件名传递给它。然后,它通过将尾部的“tif”替换为“jpg”来计算出新的文件名,并调用ImageMagickconvert
进行转换
关于Finder/Spotlight注释,下面是一个获取文件的Finder注释的小脚本:
#!/bin/bash
# macOSGetFinderComment
# Pass an absolute path to the file!
file=$1
osascript<<EOF
tell application "Finder" to get comment of item POSIX file "$file"
EOF
然后将此文件保存在$HOME/CopyComments下的主目录中:
#!/bin/bash
shopt -s nullglob
for f in $(pwd)/*.tif; do
comment=$($HOME/macOSGetFinderComment "$f")
new="${f%.tif}.jpg"
echo Setting comment of $new to $comment
$HOME/macOSSetFinderComment "$new" "$comment"
done
并通过以下方式使其可执行:
cd
chmod +x macOS*FinderComment
chmod +x $HOME/CopyComments
并使用以下工具运行它:
cd NEW
$HOME/CopyComments
我也在苹果社区发布了这个问题,下面是VikingOSX提出的建议。这是一段很大的代码,所以最好从上面提到的苹果社区链接下载,或者直接从上面提到的苹果社区链接下载。以下是关于解决方案的描述,如原始帖子中所述:
- 提示输入源文件夹和目标文件夹
- 将文件夹层次结构从源文件夹复制到目标文件夹。 选择文件夹层次结构中的所有TIFF图像并将其转换为JPEG。 对于子文件夹及其文件,将原始查找器注释、颜色标记和标记名称传输到目标层次结构
- JPG文件的压缩级别为
,可以在以下行中修改:高
或中等
:低
将此img保存为带有图标的压缩级别中等的文件名中的JPEG
- 使用with timeout子句允许大量文件。AppleScript尚不支持Finder标记名,因此此脚本使用
获取并设置这些标记名。由于此扩展,该脚本现在需要AppleScript 2.4,并且必须在AppleScript/Objective-C
或更高版本上运行OS10.10
- 由于存在
代码,如果不使用AppleScript/Objective-C
键盘快捷键,脚本无法作为脚本/脚本包交互运行。脚本启动时会进行测试,并会发出相应的警告。最好将脚本另存为应用程序,以完全避免使用此键盘快捷键control+command+R
Comand+i
,用于可视化它们),但comm
set uxFilepath to POSIX path of NewIMG
do shell script "/usr/local/bin/exiftool -overwrite_original -EXIF:UserComment=\"" & cmtstr & "\" " & uxFilepath