2017-05-21 2 views
0

Je suis donc nouveau dans Photoshop Scripting, mais j'ai une bonne connaissance de JS.Charger le canal RVB à la sélection - Photoshop Scripting

J'essaie de faire une sélection basée sur le canal 'RGB', mais mon code est erroné, en disant "No such element". Comment puis-je charger le canal RVB de la même manière que les canaux individuels Rouge, Vert ou Bleu? Si je remplace RGB par Red, tout fonctionne parfaitement. Pour clarifier, je veux la même fonctionnalité que de cliquer sur l'icône «Channel to Selection» dans le panneau des canaux avec tous les canaux sélectionnés.

Répondre

0

Il n'y a pas de canal RVB, par définition. Vous voulez probablement un tableau des trois canaux de couleur:

var channelRef = [doc.channels.getByName('Red'),doc.channels.getByName('Green'),doc.channels.getByName('Blue')]; 
+0

Merci pour la réponse. Je suis conscient qu'il n'y a pas de canal RVB, mais en essayant de copier la fonctionnalité à l'intérieur de l'interface utilisateur PS. J'ai trouvé la réponse - saisissez le script dans les journaux et enroulez un nom de fonction autour d'eux. –

0

J'ai élaboré la réponse - enregistrer l'action et copier le script qu'il sort. Utile pour toute personne ayant besoin de le faire.

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