【问题标题】:Paste In Place Photoshop Script就地粘贴 Photoshop 脚本
【发布时间】:2014-12-05 04:24:08
【问题描述】:

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

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

Photoshop 有一个名为 Paste In Place 的功能,您可以通过 Edit>Paste Special>Paste In Place 来获得它,这当然解决了这个问题,对我来说问题是我需要知道 Paste In Place 的 JavaScript 代码,这样它才能从我的脚本中执行此操作。

有人知道吗?

【问题讨论】:

标签: javascript photoshop


【解决方案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 得到的

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-04
    • 2018-06-03
    • 1970-01-01
    相关资源
    最近更新 更多