Automator Apple脚本转换jpeg图像

时间:2015-02-22 12:51:39

标签: applescript automator

我使用下面的automator函数将png图像批量转换为jpeg。它工作正常,并立即转换文件夹中的所有图像。但jpeg图像的质量不够。

图1:Automator功能 enter image description here

图像2:预览应用程序显示图像质量。我们如何才能在automator上面执行相同的功能?

enter image description here

2 个答案:

答案 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文件的行。如果测试后一切正常,您可以删除“#”。

enter image description here

答案 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工作流程,以防您在另一个时段需要它。