我正在尝试在PhotoShop脚本中将一个LayerSet移到另一个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,则错误消失了,但它并没有完全满足我的要求。

最佳答案

如您所见,并非ElementPlacement的所有值对所有对象类型都有效。我决定通过添加dummieGroup进行工作,并将源放置在虚拟对象之前。最后,假人将被移除。

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,它必须为空。

10-08 06:44