Photoshop脚本将一个组移到其他

时间:2016-07-11 13:10:57

标签: photoshop photoshop-script

我试图将一个LayerSet移动到PhotoShop脚本中的另一个LayerSet中。这是我的代码:

// Source
var srcGroup = app.activeDocument.layerSets.add();
srcGroup.name = 'source';

// Target
var targetGroup = app.activeDocument.layerSets.add();
targetGroup.name = 'target';

srcGroup.move(targetGroup, ElementPlacement.INSIDE);

这会出现错误"错误1220:非法争论"。如果我将第二个参数更改为ElementPlacement.PLACEAFTER,那么错误就会消失,但它并没有完全符合我的要求。

1 个答案:

答案 0 :(得分:2)

正如您所发现的,ElementPlacement的所有值都不适用于所有对象类型。我决定通过添加dummieGroup来创建一个workarround,并将源放在虚拟之前。最后,假人将被移除。

var srcGroup = app.activeDocument.layerSets.add();
srcGroup.name = "source";
var targetGroup = app.activeDocument.layerSets.add();
targetGroup.name = "target";

//adding the dummy INSIDE the target LayerSet
var dummieGroup = targetGroup.layerSets.add();
dummieGroup.name = "dummy";

srcGroup.move(dummieGroup, ElementPlacement.PLACEBEFORE);
dummieGroup.remove();

要删除layerSet,必须为空。