【问题标题】:Photoshop(CC) Script that runs the action after the alert box appears出现警告框后运行操作的 Photoshop(CC) 脚本
【发布时间】:2019-03-05 23:48:51
【问题描述】:

我对 Photoshop (CC) 中的流程自动化有疑问,希望您能帮助我,或引导我去寻找答案。

我在 PS 中创建了自己的动作来处理照片并添加各种图形元素(我称之为工作:动作 A)。

我有很多照片所以 我使用“批处理序列...”运行操作。

批处理序列打开照片并启动“操作 A”。一段时间后会出现警告框。

然后我可以选择“停止”和“继续”。

此时我需要在对话框出现时激活第二个动作(我称之为工作:动作 B)

我在各种论坛中寻找解决方案,发现只有这个: https://forums.adobe.com/thread/1218184

请帮忙。

我问候亚瑟

【问题讨论】:

    标签: javascript automation photoshop-script cc


    【解决方案1】:

    您可以将您的操作转换为脚本,然后使用任何条件语句来决定下一步要做什么。

    例如,假设您的操作 A 有 10 个步骤,并且您希望第 10 个步骤成为决定下一步做什么的条件。您可以使用 xbytor 的 ActionToScript 脚本 (working link) 将您的操作转换为脚本,在生成的 JSX 文件中,您会发现所有操作步骤都转换为 javascript 代码。您可以使用此文件而不是您的操作 A,或者您可以只使用您需要的部分(在我的示例中为第 10 步),将前面的所有 9 个步骤保留为操作步骤,并将脚本作为最后一步插入。

    然后在脚本中你可以使用try..catchif 语句来决定播放哪个动作,例如这段代码是从动作转换的命令“羽毛选择”。它会尝试播放,如果一切正常,接下来将播放来自My Actions 集的Action B。如果遇到错误(例如没有选择羽化),将播放Action C

    function cTID(s){return app.charIDToTypeID(s);};
    function sTID(s){return app.stringIDToTypeID(s);};
    
    try
    {
        var desc2285 = new ActionDescriptor();
        desc2285.putUnitDouble(cTID('Rds '), cTID('#Pxl'), 5.000000);
        desc2285.putBoolean(sTID('selectionModifyEffectAtCanvasBounds'), false);
        executeAction(cTID('Fthr'), desc2285, DialogModes.NO);
    
        app.doAction("Action B", "My Actions");
    }
    catch (e)
    {
        app.doAction("Action C", "My Actions");
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-17
      • 2015-09-26
      • 1970-01-01
      • 2011-08-13
      • 2020-02-20
      • 1970-01-01
      • 2018-10-21
      相关资源
      最近更新 更多