所以我是Photoshop Scripting的新手,但对JS有很好的把握。
我正在尝试根据'RGB'频道进行选择,但我的代码错误,说“没有这样的元素”。如何以与红色,绿色或蓝色通道相同的方式加载RGB通道?如果我用红色替换RGB,一切都很完美。
var doc = app.activeDocument;
var currentLayer = doc.activeLayer;
var channelRef = doc.channels.getByName("RGB");
doc.selection.load(channelRef, SelectionType.REPLACE);
为了澄清,我希望在频道面板中点击所选频道的“频道到选择”图标具有相同的功能。
答案 0 :(得分:0)
根据定义,没有RGB通道。您可能想要三个颜色通道的数组:
var channelRef = [doc.channels.getByName('Red'),doc.channels.getByName('Green'),doc.channels.getByName('Blue')];
答案 1 :(得分:0)
我找到了答案 - 记录动作并复制它输出的脚本。对其他需要这样做的人有帮助。
function selectRGBChannel() {
var idsetd = charIDToTypeID( "setd" );
var desc3343 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref101 = new ActionReference();
var idChnl = charIDToTypeID( "Chnl" );
var idfsel = charIDToTypeID( "fsel" );
ref101.putProperty( idChnl, idfsel );
desc3343.putReference( idnull, ref101 );
var idT = charIDToTypeID( "T " );
var ref102 = new ActionReference();
var idChnl = charIDToTypeID( "Chnl" );
var idChnl = charIDToTypeID( "Chnl" );
var idRGB = charIDToTypeID( "RGB " );
ref102.putEnumerated( idChnl, idChnl, idRGB );
desc3343.putReference( idT, ref102 );
executeAction( idsetd, desc3343, DialogModes.NO );
};