多个画板上的重复图层-Photoshop 2019

时间:2019-07-16 06:04:47

标签: javascript copy photoshop paste layer

有什么方法或脚本可以将图层复制到Photoshop中的所有画板上吗?

a busy cat

提前谢谢您,因为我找不到解决方法

1 个答案:

答案 0 :(得分:0)

画板只是专门的图层组,可以使用document.layerSets属性作为目标。在这个工作示例中(已在Adobe PS CC 2019中进行了测试和工作),我假设我们正在复制1层,并且每个画板中已经有1层。有关视觉演示,请查看以下截屏视频gif:https://www.rebel-ist.com/img/example/duplicateArtboards.gif

var doc = app.activeDocument;

// assumes your bottom most artboard in the layer tree contains the layer you want to copy from AKA Artboard 1
var artBoardToCopyFrom = doc.layerSets[doc.layerSets.length - 1];

// assumes there is only 1 layer in this artboard that we need to target
var layerToCopy = artBoardToCopyFrom.layers[0];

// set that layer as the active layer
doc.activeLayer = layerToCopy;

// select all 
doc.selection.selectAll();

// copy the selection
doc.selection.copy();


// loop through each layerSet aka artboard except the last one -- no need to paste an additional copy into the bottom most layerSet
for (var g = 0; g < doc.layerSets.length - 1; g++) {

    // set layer 0 in this group as the active layer -- again assumes there is only one layer in each artboard
    doc.activeLayer = doc.layerSets[g].artLayers[0];

        // select all
    doc.selection.selectAll();

    // paste into selection aka create new layer and paste with mask
    doc.paste(true);
}