我使用下面的automator函数将png图像批量转换为jpeg。它工作正常,并立即转换文件夹中的所有图像。但jpeg图像的质量不够。
图1:Automator功能
图像2:预览应用程序显示图像质量。我们如何才能在automator上面执行相同的功能?
答案 0 :(得分:3)
不幸的是,该功能在该Action中不可用(奇怪)。我建议使用“运行Shell脚本”操作。
[编辑:我已经用新的图解和彻底的解释替换了所有内容。]
说明:
在红色框中:
这些是行动。有5个运行Shell脚本操作,一个直接跟随另一个。
在绿色框中:
这些是行动的详细信息。
1:询问Finder项目:
类型:文件夹
不允许多项选择
2:获取文件夹内容:
如果您愿意,可以使用“对每个找到的子文件夹重复”
3:运行Shell脚本:
传递输入:作为参数
剧本:
for f in "$@"
do
sips -s format jpeg -s formatOptions 100 "$f" --out "${f%.png}.jpg";
#rm "$f";
echo "${f%.png}.jpg"
done
4:运行Shell脚本:
传递输入:作为参数
剧本:
for f in "$@"
do
echo "$f" | grep .jpg
done
5:移动Finder项目:
收件人: [选择您的文件夹]
注意:为了安全起见,我在第一个Run Shell Script脚本中注释了“rm”行(在它前面放了一个“#”)进行测试。这是删除PNG文件的行。如果测试后一切正常,您可以删除“#”。
答案 1 :(得分:1)
您好,您可能需要安装ImageMagick,因为我不确定您是否可以编写AppleScript或其他东西以使预览使用更好的质量,而且我无法在用户默认数据库中查找任何用户首选项设置的质量。它可能存在,但我还没有找到它。
这是一个关于ImageMagick: Command-line Tools: Convert的一些信息的链接我认为你最好的选择是使用执行unix脚本操作,从finder转换路径,或者从finder转换文件夹,并在里面有一个shell脚本动作,为您执行具有所需质量的转换。
新(对于无法使CRGreens解决方案正常工作的情况,请参阅下面的评论)
我们需要有一个文件夹,您的图像将在此过程中进行转换,因此我建议您将AppleScript放在新工作流程中的“运行AppleScript操作”中,然后选择转换所在的文件夹在您运行刚刚创建的工作流程之前,在finder中进行,然后在新的TextEdit文档中点击“Cmd-V”,以便以后使用。
on run {input, parameters}
tell application "Finder"
if selection is not {} then
set theSel to selection as alias list
end if
end tell
if theSel is not {} then
set theFol to item 1 of theSel
set the clipboard to "cd " & quoted form of POSIX path of theFol
else
beep
end if
end run
保存并关闭Automator工作流程,以防您在另一个时段需要它。