您的位置首页百科知识

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

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

的有关信息介绍如下:

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

本经验是为了解决本人工作上的一个痛点.

如果你有一个PSD分层的文件, 每个图层都要调整统一的亮度/饱和度/色彩平衡什么的, 且不能出现多余的图层, 那么本经验很适合喜欢偷懒的你

打开文本编辑器、写入以下代码:

//代码开始

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安装目录里的脚本目录里面, 路径如下

../Adobe Photoshop CC 2018/Presets/Scripts

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

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

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

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

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

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

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