はみ出しチェック (Photoshop CS/CS2)

Photoshop CS/CS2で画像を移動させたり図形などを描いているとドキュメントの大きさよりも大きかったり、場合によっては見えないほど遠くに移動してしまったりすることがあります。
そのような場合には、レイヤーがドキュメントからはみ出しているかどうか調べるスクリプトがあると便利です。以下のスクリプトはドキュメントからはみ出しているレイヤーを赤色にして、はみ出していることを示すものです。


saveUnit = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
w = activeDocument.width.value;
h = activeDocument.height.value;
layObj = activeDocument.layers;
for (i=0; i<layObj.length; i++)
{
activeDocument.activeLayer = layObj[i];
x1 = parseInt(layObj[i].bounds[0]);
y1 = parseInt(layObj[i].bounds[1]);
x2 = parseInt(layObj[i].bounds[2]);
y2 = parseInt(layObj[i].bounds[3]);
if ((x1 < 0) || (y1 < 0) || (x2 > w) || (y2 > h)) setLayerColor();
}

function setLayerColor()
{
colorNameString = "Rd ";
var id21 = charIDToTypeID( "setd" );
var desc4 = new ActionDescriptor();
var id22 = charIDToTypeID( "null" );
var ref2 = new ActionReference();
var id23 = charIDToTypeID( "Lyr " );
var id24 = charIDToTypeID( "Ordn" );
var id25 = charIDToTypeID( "Trgt" );
ref2.putEnumerated( id23, id24, id25 );
desc4.putReference( id22, ref2 );
var id26 = charIDToTypeID( "T " );
var desc5 = new ActionDescriptor();
var id27 = charIDToTypeID( "Clr " );
var id28 = charIDToTypeID( "Clr " );
var id29 = charIDToTypeID( colorNameString ); // レイヤーカラー
desc5.putEnumerated( id27, id28, id29 );
var id30 = charIDToTypeID( "Lyr " );
desc4.putObject( id26, id30, desc5 );
executeAction( id21, desc4, DialogModes.NO );
}


[サンプルをダウンロード]