Photoshop JS选择图层的内容?

时间:2017-09-07 20:25:26

标签: javascript photoshop jsx

  1. 在photoshop中有一种选择目标图层上所有像素的方法吗? (Mac-Command)单击图层窗口中的缩略图)。如果不是......

  2. 我确实有一个这样的工作版本,但在某些地方,Photoshop已经更新了它的命令,并且代码段不再有效。 那个剧本充满了龙,当我今天在Photoshop CC 2017中运行时,我收到以下错误enter image description here

  3. 以下是片段:

    //setCurrentLayerSelection. Ton's of 'here be dragons::
                var idChnl = charIDToTypeID( "Chnl" );
    
                var actionSelect = new ActionReference();
                actionSelect.putProperty( idChnl, charIDToTypeID( "fsel" ) );
    
                var actionTransparent = new ActionReference();
                actionTransparent.putEnumerated( idChnl, idChnl, charIDToTypeID( "Trsp" ) );
    
                var actionDesc = new ActionDescriptor();
                actionDesc.putReference( charIDToTypeID( "null" ), actionSelect );
                actionDesc.putReference( charIDToTypeID( "T   " ), actionTransparent );
    
                executeAction( charIDToTypeID( "setd" ), actionDesc, DialogModes.NO );
    

    断线是最后一行。 有没有快速解决这个问题,甚至更好的标准方法?在我看来,这是一个非常基本的功能。

1 个答案:

答案 0 :(得分:0)

可悲的是,我只能找到#2的答案,但这里有:

  1. 获取photoshop ScriptinListener.plugin 从这里下载:http://www.adobe.com/devnet/photoshop/scripting.html
  2. (对于mac)将插件放在Plug-ins文件夹中(' Adob​​e Photoshop CC 2017'的子文件夹)
  3. 启动photoshop(或在当前打开时重启)
  4. 执行要捕获的用户操作。
  5. 在桌面上(Mac再次),有一个名为ScriptingListenerJS.log的文件。它包含javascript中记录的所有操作。不性感,但为我工作。
  6. 请注意,一旦您完成录制,您可能希望删除该插件,因为它总是会写入日志文件,如果您不使用它,则会浪费资源。