■ソースコード
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")
{
n = 80; // 80%
docObj.layers[i].resize(n, n, AnchorPosition.MIDDLECENTER);
}else{
n = 50; // 50%
docObj.layers[i].resize(n, n, AnchorPosition.MIDDLECENTER);
}
}
}
■ポイント
以下のようにすると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 上右