■プログラム説明(ソースコード説明)
レイヤーの透明ピクセルをロックするにはレイヤーオブジェクトのtransparentPixelsLockedプロパティにtrueを入れます。指定レイヤーが存在しない場合や透明ピクセルをロックできないレイヤーの種類の場合にはエラーになります。
■ソースコード
docObj = activeDocument;
docObj.layers["レイヤー 1"].transparentPixelsLocked = true;
■ポイント
transparentPixelsLockedプロパティの値がtrueの場合はレイヤーの透明ピクセルがロックされており、falseの場合はロックされていません。レイヤーの種類によっては透明ピクセルのロックができないため、処理しようとするとエラーになります。これを防ぐには以下のようにレイヤーの種類を調べてから処理するようにします。
docObj = activeDocument;
for (i=0; i<docObj.layers.length; i++)
{
layType = docObj.layers[i].kind;
if (layType == "LayerKind.NORMAL") docObj.layers[i].transparentPixelsLocked = true;
}
■実際のスクリプトをダウンロード(sample.js.zip)