level 1
app.activeDocument.suspendHistory("Script", "pig()");
// 主入口函数
function pig() {
// 当前打开的文档
var doc = app.activeDocument
// 重要: 必须先选中设置好的 [调整图层]
var adj_layer = doc.activeLayer;
function getLayers(layers) {
for (var i = 0; i < layers.length; i++) {
//判断是否是图层组
if (layers[i].typename == "LayerSet") {
//递归
getLayers(layers[i].layers);
} else if (layers[i].visible) {
// 隐藏的图层不处理
mergeLayerNew(layers[i], adj_layer)
}
}
}
for (var i = 0; i < doc.layers.length; i++) {
if (doc.layers[i].typename == "LayerSet") {
getLayers(doc.layers[i].layers);
}
}
// 删除调整图层
adj_layer.remove();
alert("处理完成!")
}
// 将新调整图层与当前图层合并
function mergeLayerNew(layer, adj_layer) {
// 复制新图层
var newLayer = adj_layer.duplicate(layer, ElementPlacement.PLACEBEFORE)
// 设置复制的为当前图层
app.activeDocument.activeLayer = newLayer;
// 处理
executeAction(stringIDToTypeID("mergeLayersNew"), undefined, DialogModes.NO);
}
这是将调整图层合并到每个图层的代码,有没有懂的老哥把它改成剪贴蒙版图层合并到下面组内每一个图层啊????
2026年03月12日 09点03分

