2017-05-21 3 views
0

Photoshop Scriptingを初めて使いましたが、JSをしっかりと把握しています。RGBチャンネルを選択にロード - Photoshop Scripting

私は 'RGB'チャンネルに基づいて選択をしようとしていますが、私のコードは「No such element」と言っている間違いです。赤、緑、青の各チャンネルと同じ方法でRGBチャンネルをロードするにはどうしたらいいですか? RGBをRedで置き換えると、すべてが完全に機能します。

明確にするために、すべてのチャンネルが選択されたチャンネルパネルの[選択チャンネル]アイコンをクリックするのと同じ機能が必要です。

答えて

0

定義上、RGBチャンネルはありません。あなたはおそらく、3つのカラーチャネルの配列が必要です:

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

お返事ありがとうございます。私はRGBチャンネルがないことを認識していますが、PSのUIの中から機能をコピーしようとしています。答えを見つけ出しました - ログからスクリプトを取得し、関数名をラップします。 –

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); 
}; 
関連する問題