如何通过Jsx在Photoshop中选择“透明形状图层”

我相信我可以使用JSX调用action脚本来做到这一点,但是我认为如果我可以直接通过JSX进行操作,这样做会更有效率。不幸的是,我在Adobe的JavaScript脚本参考pdf中找不到关于此选项的任何信息。

this option here :"Transparency Shapes Layer"

到目前为止,我的想法是检查图层是否处于LinearDodge模式,如果要取消选中“透明形状图层”
(我是新手,所以是出于测试目的):

var doc= app.activeDocument;

for (i=0 ; i < doc.layers.length; i++) {
if (doc.layers[i].blendmode == Blendmode.LINEARDODGE) {
        //alert ('found it');
        //doc.layers[i].blendmode = Blendmode.MULTIPLY;
        //doc.activeLayer=doc.layers[i];
          }

}
qqswddnsbakn 回答:如何通过Jsx在Photoshop中选择“透明形状图层”

我相信通过说动作脚本来表示动作管理器代码,而用JSX来表示Photoshop DOM?无论如何,Action Manager代码通常比DOM效率更高(高达数千倍。当然,看起来像是在召唤一个恶魔),并且如果您在JS Scripting Reference中找不到某些内容,则此功能可能不存在DOM:有时AM是唯一的解决方案。只需将丑陋的代码包装在一个函数中,然后将其隐藏在某个地方即可。或创建自己的DOM。

changeTransparencyShapesLayer(false)

function changeTransparencyShapesLayer(value)
{
  var desc = new ActionDescriptor();
  var ref = new ActionReference();
  ref.putEnumerated(charIDToTypeID('Lyr '),charIDToTypeID('Ordn'),charIDToTypeID('Trgt'));
  desc.putReference(charIDToTypeID('null'),ref);
  var descOption = new ActionDescriptor();
  descOption.putBoolean(stringIDToTypeID('transparencyShapesLayer'),value);
  desc.putObject(charIDToTypeID('T   '),charIDToTypeID('Lyr '),descOption);
  executeAction(charIDToTypeID('setd'),desc,DialogModes.NO);
}
本文链接:https://www.f2er.com/2981566.html

大家都在问