Amazonで商品を見るセール会場へ

Photoshopスクリプト(jsx)│選択したレイヤーだけを表示・非表示する方法

Photoshopで選択したレイヤーのみを表示・非表示にするスクリプトを紹介します。

このスクリプトを使用すると、レイヤーパネルの目のアイコンを1つずつ切り替える手間を省き、元の表示状態にも素早く復帰できます

Photoshopで選択したレイヤーのみを表示または非表示に切り替えて元の状態に復帰する様子。
目次

スクリプトを使用するメリット

  • 選択したレイヤーだけをすばやく表示・非表示に切り替えられる
  • 途中で他のレイヤーを操作しても、実行前の表示状態へ戻せる
  • 手作業で目のアイコンを切り替えるより作業時間を短縮できる

スクリプトで選択レイヤーのみを表示・非表示にする

このスクリプトを実行すると、選択中のレイヤーのみを対象に表示・非表示を切り替えられます。

スクリプトを実行して選択中のレイヤーのみを対象に表示や非表示を切り替える操作の流れ。

STEP.1 スクリプトを格納

  1. 下記のコードをテキストエディタに貼り付けて保存

Photoshopのほかの操作は、まとめからご覧いただけます。

CGM_IsolateLayerSelection.jsx

(function(){
    app.bringToFront();  
    var doc= activeDocument;
    var bg = doc.layers.length;
    var comp = "tmp";

    //背景がある場合は解除
    doc.layers[bg-1].isBackgroundLayer = false;

    doc.suspendHistory("選択したレイヤーだけを表示・非表示する", "main()");

    function main() {
        try{
            if (doc.layerComps[0].selected = doc.layerComps.getByName(comp) ) {
                restoreSelectLayer();
                deleteSelectLayer();
            } 
        }catch(e){
            doc.layerComps.add(comp);
            showSelectLayer();
            }
    }  

    //レイヤーカンプの表示を削除
    function deleteSelectLayer(){
        var idDlt = charIDToTypeID( "Dlt " );
        var desc9 = new ActionDescriptor();
        var idnull = charIDToTypeID( "null" );
        var ref4 = new ActionReference();
        var idcompsClass = stringIDToTypeID( "compsClass" );
        var idOrdn = charIDToTypeID( "Ordn" );
        var idTrgt = charIDToTypeID( "Trgt" );
        ref4.putEnumerated( idcompsClass, idOrdn, idTrgt );
        desc9.putReference( idnull, ref4 );
        executeAction( idDlt, desc9, DialogModes.NO );
    }

    //選択しているレイヤーのみ表示
    function showSelectLayer(){       
        var idShw = charIDToTypeID( "Shw " );
        var desc75 = new ActionDescriptor();
        var idnull = charIDToTypeID( "null" );
        var list42 = new ActionList();
        var ref68 = new ActionReference();
        var tgtLayerkind = activeDocument.activeLayer;
            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 );
    }
        
     //もとの表示状態に戻す   
    function restoreSelectLayer(){    
        var idapplyComp = stringIDToTypeID( "applyComp" );
            var desc19 = new ActionDescriptor();
            var idnull = charIDToTypeID( "null" );
                var ref9 = new ActionReference();
                var idcompsClass = stringIDToTypeID( "compsClass" );
                ref9.putName( idcompsClass, "tmp" );
            desc19.putReference( idnull, ref9 );
        executeAction( idapplyComp, desc19, DialogModes.NO );
    }

})() ;
  1. CGM_IsolateLayerSelection.jsx以下のフォルダに保存
C:\Program Files\Adobe\Adobe Photoshop CC\Presets\Scripts\
  1. Photoshopを再起動。

STEP.2 スクリプトを実行

  1. [ファイル][スクリプト][CGM_IsolateLayerSelection] を選択。
  2. 選択したレイヤーだけが表示され、他のレイヤーは非表示になります。
  3. もう一度実行すると、元の状態に復元されます。

レイヤーを操作するスクリプトは、ほかにもあります。

まとめ

  • 選択したレイヤーのみをすばやく表示・非表示にできる
  • 目のアイコンを1つずつクリックする手間を省き、作業を効率化できる
  • 再実行することで元の表示状態に戻せる

Photoshopのレイヤー管理をスムーズにするために、このスクリプトを活用して効率化してみてください。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

Photoshopのおすすめ書籍

Photoshop用PCの選び方

周辺機器の優先度

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次