レイヤー名別にリサイズする

■プログラム説明(ソースコード説明)
 レイヤーを名前に応じて拡大縮小するにはレイヤーオブジェクトのnameプロパティを調べ該当する名前の場合に拡大縮小処理を行います。拡大縮小するにはresize()を使います。横と縦のスケール(拡大縮小率)と、基準位置を指定します。

---------------------------------------------------------------------------------------------------------
■ソースコード
docObj = activeDocument; ←レイヤーオブジェクトへの参照を変数に入れます
for (i=0; i<docObj.layers.length; i++) ←レイヤー数分繰り返します
{
layObj = docObj.layers[i].bounds; ←レイヤーの座標が入っているプロパティを変数に入れます
x1 = parseFloat(layObj[0]); ←レイヤーの左側の座標を取得します
y1 = parseFloat(layObj[1]); ←レイヤーの上側の座標を取得します
x2 = parseFloat(layObj[2]); ←レイヤーの右側の座標を取得します
y2 = parseFloat(layObj[3]); ←レイヤーの下側の座標を取得します
w = (x2 - x1); ←レイヤーの横幅を求めます
h = (y2 - y1); ←レイヤーの縦幅を求めます
if ((w >0) && (h > 0) && (docObj.layers[i].isBackgroundLayer == false)) ←レイヤー内にピクセルが存在し、背景でない場合に処理します
{
if (docObj.layers[i].name == "web") ←レイヤー名がwebかどうか調べます
{
n = 80; // 80%
docObj.layers[i].resize(n, n, AnchorPosition.MIDDLECENTER); ←レイヤーの中心を基準にして80%縮小します
}else{
n = 50; // 50%
docObj.layers[i].resize(n, n, AnchorPosition.MIDDLECENTER); ←レイヤーの中心を基準にして50%縮小します
}
}
}

---------------------------------------------------------------------------------------------------------
■使い方
1:ファイルメニューからスクリプトを実行します。
2:webという名前のレイヤーが80%、その他のレイヤーが50%縮小されます。

---------------------------------------------------------------------------------------------------------
■ポイント
 以下のようにするとwebという文字列が含まれる場合に80%縮小されます。

if (docObj.layers[i].name == "web")
      ↓
if (docObj.layers[i].name.indexOf("web") > -1)

 レイヤーの種類がテキストの場合に80%縮小させるには以下のようにkindでレイヤーの種類を調べます。

if (docObj.layers[i].name == "web")
      ↓
if (docObj.layers[i].kind == LayerKind.TEXT)

 resize()の書式は以下のようになります。

レイヤーオブジェクト.resize(横のスケール, 縦のスケール, 基準位置)

AnchorPosition.BOTTOMCENTER 下中央
AnchorPosition.BOTTOMLEFT 下左
AnchorPosition.BOTTOMRIGHT 下右
AnchorPosition.MIDDLECENTER 中央
AnchorPosition.MIDDLELEFT 中左
AnchorPosition.MIDDLERIGHT 中右
AnchorPosition.TOPCENTER 上中央
AnchorPosition.TOPLEFT 上左
AnchorPosition.TOPRIGHT 上右
---------------------------------------------------------------------------------------------------------
■注意
 なし

■実際のスクリプトをダウンロード(sample.js.zip)