ps将剪贴蒙版合并到组内每个图层
photoshop吧
全部回复
仅看楼主
level 1
梦LL 楼主
用了很多ai去写这个脚本,但都是运行失败,有老哥有这样的脚本吗?只有代码也行~
2026年03月12日 09点03分 1
level 1
梦LL 楼主
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分 2
level 11
我在弄了,这个是准备导出后,给哪个软件用的?
2026年03月12日 13点03分 3
???
2026年03月12日 13点03分
@梦LL 只是问一下,你这个操作之后,是要导出作为其他软件的贴图吗?
2026年03月12日 13点03分
@X_in 都可以啊。只是没有脚本。需要一个图层一个图层的复制然后剪贴蒙板再合并图层。巨麻烦,如果有一键脚本就好了。调整图层有,我想用ai写一个。但ai写出来的代码都不能用。
2026年03月12日 13点03分
level 11
你看一下是不是这个效果?
执行前,
执行脚本后,
2026年03月12日 13点03分 4
对,老哥你写出来了~
2026年03月12日 13点03分
哥哥,[委屈]就是最后那个图层4可以删除吗?这个代码可以加进去吗?因为合并后,最上方那个剪贴蒙板图层就没用了,还需要手动删掉。如果不好加这个代码。这样也是OK的~
2026年03月12日 16点03分
@梦LL 明天再改吧
2026年03月12日 16点03分
@X_in 好的好的~
2026年03月13日 01点03分
level 11
你自己试一下。
通过网盘分享的文件:剪贴蒙版图层组合并.jsx
链接: [有效] https://pan.baidu.com/s/1-rNROrXlrGXruZXHWsLeNA?pwd=wbd9 提取码: wbd9
2026年03月12日 14点03分 5
level 11
这个是带删除上方剪贴蒙版图层的
通过网盘分享的文件:剪贴蒙版图层组合并删除原图层.jsx
链接: [有效] https://pan.baidu.com/s/1towVj9mGNB489YRDt2rQLQ?pwd=aekj 提取码: aekj
2026年03月13日 07点03分 6
谢谢,太好了,老哥~[大拇指][大拇指][大拇指][爱心][爱心][爱心]
2026年03月13日 07点03分
1