PS将[调整图层]合并到每个单独图层

2025-10-04 02:06:23

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);

}

 

//代码结束

PS将[调整图层]合并到每个单独图层

2、保存文件到PS安装目录里的脚本目录里面, 路径如下

../Adobe Photoshop CC 2018/Presets/Scripts

文件名称随意, 但是后缀名必须是.jsx

PS将[调整图层]合并到每个单独图层

3、打开/重新打开PS, 打开要处理的文件,如图

1.加一个调整图层, 设置好要调整的效果

2.只有放到图层组里的图层会被处理

3.选中调整图层, 点击菜单-文件-脚本-合并调整图层

注意: 顶级的图层不会被处理, 隐藏的图层/图层组不会被处理, 运行脚本前必须先选中调整图层

PS将[调整图层]合并到每个单独图层

4、如果没有达到效果, 可以按撤销一次, 即可还原. 多试几次, 让我们一起偷懒吧…

 

^ ^

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢