如何通过 Jsx 在 Photoshop 中选择退出"透明形状图层"



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

此选项在这里:"透明形状图层">

到目前为止,我有这个想法,目的是检查图层是否处于线性减淡模式,如果是,则取消选中"透明形状图层"
(我是新手,所以这是出于测试目的(:

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];
}
}

我相信说动作脚本是指动作管理器代码,而JSX是指Photoshop DOM?无论如何,Action Manager 代码通常比 DOM 更有效(高达 1000 次......当然看起来像是在召唤恶魔(,如果您在 JS 脚本参考中找不到某些内容,则此函数在 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);
}

最新更新