使用设置复制图层样式(效果)

时间:2015-03-18 08:54:09

标签: copy-paste effects photoshop-script

我正在为photoshop编写脚本,我正在寻找一种将图层样式从一个图层复制到另一个图层的方法。应用的layertyle可能会有所不同,所以我必须能够找到任何可能的样式并复制它。我找到了一些复制图层样式的代码,但不会复制设置。使用脚本监听器对我没什么帮助,因为它都是硬编码的。

有没有办法复制样式的设置?并为所有可能的样式做到这一点?

1 个答案:

答案 0 :(得分:0)

据我了解,Adobe没有任何方法可以在脚本界面中检索样式或样式属性。显然,这可以通过Action Manager代码手动完成。 Adobe论坛中的这篇文章讨论了实现这一目标的一些方法:How to get the style of a layer using Photoshop Scripting ?

I Haven没有对此进行过测试,但这可能是您正在寻找的:

if (app.documents.length > 0 && app.activeDocument.layers.length > 1) {
    transferEffects(app.activeDocument.layers.getByName("styleLayer"), app.activeDocument.activeLayer);
};
// function to copy layer effects of one layer and apply them to another one
function transferEffects(layer1, layer2) {
    app.activeDocument.activeLayer = layer1;
    try {
        var id157 = charIDToTypeID("CpFX");
        executeAction(id157, undefined, DialogModes.ALL);
        app.activeDocument.activeLayer = layer2;
        var id158 = charIDToTypeID("PaFX");
        executeAction(id158, undefined, DialogModes.ALL);
    } catch (e) {
        alert("the layer has no effects");
        app.activeDocument.activeLayer = layer2;
    }
};