LoginSignup
3
3

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-05-08

色調補正のやり過ぎを防ぐには、簡単な操作で補正前|補正後を切り替えられるようにすると良い
表示したままにしておきたいレイヤーの目玉マークを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)

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3