粘贴到位Photoshop脚本

时间:2014-09-18 05:14:26

标签: javascript photoshop

对于你那里的Photoshop脚本编写者(javascript),我编写了一个脚本,复制合并图像区域并将其粘贴到另一个文档中。令我烦恼的是,粘贴的图像粘贴到屏幕中间,而不是粘贴到选择坐标。

所以第一个图像是2000px到2000px,我使用我的脚本复制合并500px到500px的区域,然后将其粘贴到500px到500px的另一个文档。唯一的问题是粘贴的图像被放到文档的中间位置,所以如果复制的区域有一些透明的像素,有时它就不会粘贴到正确的位置。

Photoshop有一个名为“粘贴到位”的功能,你可以通过编辑>粘贴特殊>粘贴到位当然解决了这个问题我的问题是我需要知道粘贴到位的javascript代码所以它可以从我的剧本那里做到。

有人知道吗?

1 个答案:

答案 0 :(得分:1)

将这些变量添加到代码的开头:

cTID = function(s) { return app.charIDToTypeID(s); };
sTID = function(s) { return app.stringIDToTypeID(s); };

用于粘贴的功能是:

function pasteInPlace(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    desc1.putBoolean(sTID("inPlace"), true);
    desc1.putEnumerated(cTID('AntA'), cTID('Annt'), cTID('Anno'));
    executeAction(cTID('past'), desc1, dialogMode);
  };

将函数添加到脚本的最后。

然后使用:

pasteInPlace();

在您的代码中调用该函数。

我是通过使用xtools actionfileTOJavascript.jsx

得到的

希望这有帮助