Extendscript for Photoshop - 编辑图层效果 > 颜色叠加

问题描述 投票:0回答:1

我一直在尝试通过extendscript更改Photoshop中的图层效果/颜色叠加图层。我使用的现有代码适用于大多数图案(TIF 文件),除了这个特定的 tif 添加了图层效果。大多数文件都针对脚本中的活动图层,然后填充新的纯色,但使用填充的正常方式对其进行着色会失去所有透明度,并且使用叠加的颜色混合模式并不准确。这些图层添加了图层效果,在 Photoshop 中您可以选择诸如

之类的内容

如果我在此处更改颜色,它会正确显示具有适当透明度的颜色。如何在我的 JSX 文件中定位它?这是我常用脚本的代码:

//loop through JSON to color the current layer and export PNG
for (var j = 0; j < countJSON; j++) {
  var SWColorNumber = myJSON.colors[j].NUMBER;

  var HEXValue = myJSON.colors[j].HEX.replace("#", "");

  var fillColor = new SolidColor();

  fillColor.rgb.hexValue = HEXValue;

  // fill the layer, normal blend, preserve transparency

  app.activeDocument.selection.fill(
    fillColor,
    ColorBlendMode.COLOR,
    100,
    true
  );

我尝试将 ColorBlendMode.COLOR 更改为 ColorBlendMode.OVERLAY。这是不正确的。我(通常)像这样定位图层:

app.activeDocument.activeLayer = myLayer;

var myLayerName = app.activeDocument.layers[i].name;

如何定位与活动图层对应的颜色叠加图层效果?这是一张显示它在图层面板中位置的图片:

我看到有人提到使用 ExtendScript Toolkit,但我不知道如何让这些类型的工具发挥作用。我尝试了另一个脚本来调用执行此操作的操作,但这对我来说也不起作用。有人可以帮我在 Photoshop 中实现这种效果吗?我见过的大多数代码都超出了我的理解范围。我预计会是:

// select layer

app.activeDocument.activeLayer = myLayer;

var myLayerName = app.activeDocument.layers[i].LayerEffects("Color Overlay");
javascript jsx photoshop extendscript photoshop-script
1个回答
0
投票

我只知道这个方法,希望对你有帮助。

//select layer and change mode
doc.activeLayer = doc.layers.getByName ("Layer 3");
doc.activeLayer.blendMode  = BlendMode.OVERLAY;
© www.soinside.com 2019 - 2024. All rights reserved.