由于建立蒙版必须要求每一个组内都有一个“最上层物件”作为裁切路径,算法的逻辑调整为:
批量建立蒙版脚本 片段
for (var i = 0; i < groups.length; i++) {
var indices = groups[i];
var len = indices.length;
if (len >= 2) {
var topIdx = indices[0];
var topItem = sr[topIdx];
var clipGroup = doc.groupItems.add();
clipGroup.move(topItem, ElementPlacement.PLACEBEFORE);
for (var j = len - 1; j > 0; j--) {
var item = sr[indices[j]];
item.move(clipGroup, ElementPlacement.PLACEATBEGINNING);
}
topItem.move(clipGroup, ElementPlacement.PLACEATBEGINNING);
clipGroup.clipped = true;
maskCount++;
}
}
为什么这样结合是正确的?