Edited at

Photoshopの一番下のレイヤーのみ表示|非表示をトグルするJavaScript

More than 3 years have passed since last update.

色調補正のやり過ぎを防ぐには、簡単な操作で補正前|補正後を切り替えられるようにすると良い

表示したままにしておきたいレイヤーの目玉マークをOption(Alt)+クリックすることで、これ以外のレイヤーを全て非表示にし、もう一度Option+クリックすると、 表示・非表示含めて 元の状態に戻す

単に「背景」レイヤーがある状態であれば、背景レイヤーをOpt+クリックするアクションで対応できた。

背景以外のレイヤー、スマートオブジェクトや透過させたレイヤー、レイヤーグループの場合はアクションに組み込めなかった。

▼こんなふうに使います。

Javascriptで、一番下のレイヤー以外の表示・非表示をトグルする https://youtu.be/aHHWfBBmM8s

これをショートカットキーでトグルするために下のJavascriptをアクションに登録する


補正用表示トグル.jsx

#target PHOTOSHOP

try{
var idShw = charIDToTypeID( "Shw " );
var desc75 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var list42 = new ActionList();
var ref68 = new ActionReference();
var tgtLayerkind = activeDocument.layers[activeDocument.layers.length-1]
if(tgtLayerkind.isBackgroundLayer){
var idLyr = charIDToTypeID( "Lyr " );
var idBckg = charIDToTypeID( "Bckg" );
ref68.putProperty( idLyr, idBckg );
} else {
ref68.putIndex( charIDToTypeID("Lyr "), tgtLayerkind.itemIndex );
}
list42.putReference( ref68 );
desc75.putList( idnull, list42 );
var idTglO = charIDToTypeID( "TglO" );
desc75.putBoolean( idTglO, true );
executeAction( idShw, desc75, DialogModes.NO );
} catch(e){};

ESTKからバイナリ形式(jsxbin)で書き出しておくと良い

「ファイル」>「スクリプト」>「参照」からこのjsxbinを呼び出すアクションを作り、ショートカットキーを登録しておく。


  • 「背景」レイヤーがあるときは、背景レイヤーを対象にする

  • 「背景」レイヤーが無いときは、一番下のレイヤーを対象にする。スマートオブジェクトでもOK

  • 一番下がレイヤーグループの場合、一番下のレイヤーグループを対象にする

  • 一番下のレイヤーグループが入れ子の場合、親のレイヤーグループを対象にする

(動作確認はCC2015)