Photoshopでレイヤーを操作するjavaScriptを紹介します。
ここで言うレイヤーの操作とは
- 新規レイヤーの作成
- レイヤーの複製
- レイヤーの表示・非表示の切り替え
- レイヤーの移動
- レイヤーの削除
- レイヤーの統合
のことを指します。
新規レイヤーの作成
新規レイヤーの作成はサンプルコード1のようにartLayers.add()で行います。
サンプルコード1
1 |
var new_layer = app.activeDocument.artLayers.add(); |
レイヤーの複製
レイヤーを複製するにはduplicate()メソッドを使用します。
duplicate()メソッドの最初のパラメータには複製後のレイヤーを配置する際に基準となるレイヤーを指定します。
次のパラメータには、複製したレイヤーを基準レイヤーから見た際にどこに配置するかを指定します。
指定できる値は以下の通りです。
- ElementPlacement.PLACEATBEGINNING 最初
- ElementPlacement.PLACEATEND 最後
- ElementPlacement.PLACEBEFORE 前
- ElementPlacement.PLACEAFTER 後
- ElementPlacement.INSIDE 内側
ちなみにduplicate()メソッドのパラメータは省略できます。
パラメータを省略した場合は、複製されたレイヤーは複製元のレイヤーの1つ上に配置されます。
サンプルコード2
1 2 3 4 5 |
var base_layer = app.activeDocument.layers[0]; app.activeDocument.layers["サンプル"].duplicate( base_layer, ElementPlacement.PLACEAFTER ); |
サンプルコード2を実行した場合は一番上のレイヤーの下に、サンプルというレイヤーが作成されます。
レイヤーの表示切り替え
レイヤーの表示を切り替えるにはvisibleプロパティを指定します。
trueを指定した場合は表示、falseを指定した場合は非表示になります。
サンプルコード3
1 2 |
app.activeDocument.layers[0].visible = true; app.activeDocument.layers[1].visible = false; |
レイヤーの移動
レイヤーの移動はmove()メソッドを使用します。
move()メソッドの最初のパラメータは移動の基準となるレイヤーを指定します。
次のパラメータは以下の通りに指定できます。
ElementPlacement.INSIDE 内側
ElementPlacement.PLACEATBEGINNING 先頭
ElementPlacement.PLACEATEND 末尾
ElementPlacement.PLACEBEFORE 前
ElementPlacement.PLACEAFTER 後ろ
サンプルコード4
1 |
app.activeDocument.layers[1].move(app.activeDocument.layers[0],ElementPlacement.PLACEBEFORE); |
サンプルコード4は、上から2番目のレイヤー(app.activeDocument.layers[1])を一番上のレイヤー(app.activeDocument.layers[0])の前に移動するという処理をしています。
レイヤーの削除
レイヤーの削除はremove()メソッドを使用します。
引数はありません。
サンプルコード5
1 |
app.activeDocument.layers[0].remove(); |
レイヤーの統合
レイヤーの統合はflatten()メソッドを使用します。
引数はありません。
サンプルコード6
1 |
app.activeDocument.flatten(); |
コメントの書き込み