【Photoshop】レイヤーを指定(選択)するスクリプト | Blue-Screeeeeeen․net | よそいちのDTPメモ

トップページ » Photoshop » 【Photoshop】レイヤーを指定(選択)するスクリプト

【Photoshop】レイヤーを指定(選択)するスクリプト

公開日:2018年4月28日 

 実際に選択状態になるわけではなくスクリプトで指定したレイヤーに対しremove()rotate()などのメソッドで何かする、という動作になります。

1.配列から選択

var doc=app.activeDocument;
var lay=doc.artLayers[0];
alert(lay)


 artLayers、layersはコレクションオブジェクトで、[レイヤー]パネルにあるレイヤーが格納されています。いちばん上が0番目となっているので、このスクリプトだと「いちばん上のレイヤー」を指しています。


2.名前で選択

var doc=app.activeDocument;
var lay=doc.artLayers.getByName("レイヤー 4");
alert(lay);

 artLayersオブジェクトの中から、「レイヤー4」という名称のレイヤーを指定します。同じ名称のレイヤーがある場合は、いちばん上にある「レイヤー4」が指定されます。


3.現在選択しているレイヤー

var doc=app.activeDocument;
var lay=doc.activeLayer;
alert(lay)


 こちらは、「[レイヤー]パネルで選択されているレイヤー」が指定されます。複数選択していた場合はコレクションオブジェクトにならず、「選択しているレイヤーの中でいちばん上にあるもの」が指定されます。


4.実践

 今回は「不透明度81%未満のレイヤーにぼかし処理」してみましょう。

var doc=app.activeDocument;
var lays=doc.artLayers;
var layCount=lays.length;
for(var i=layCount-1; i>-1; i--){
  if(lays[i].opacity<81){
    lays[i].applyGaussianBlur(25);//ぼかし(ガウス)、半径25px
  }
}

 activeLayerの挙動を考えると[レイヤー]パネルで複数選択しているものに何かする、というのはScriptingListenerを使わないとできないので、「レイヤーそれぞれの設定値を条件にしてひとつずつ処理」を繰り返すコードにしています。

スクリプト実行前
スクリプト実行前


スクリプト実行後
スクリプト実行後


動画


ダウンロード

サンプルファイル(.psdファイル)

スクリプト


タグ: | 


広告

  • 最近の投稿

  • 月別の記事

  • 今月の1枚

  • 人気の記事

    お買い物