三日月館【別館】開発・制作Tips集

[Photoshop] ExtendScriptでレイヤーの描画矩形を取得する

最終更新:

fumiduki1985

- view
管理者のみ編集可
ArtLayerオブジェクトのboundsフィールドで取得可能。

boundsフィールドはUnitValue型の4要素配列で、[左端座標, 上端座標, 右端座標, 下端座標]のように格納されている。
UnitValue型は単位付きのフォーマットであるため、parseInt(), parseFloat()等のメソッドで適切に数値に変換する必要がある。
単位は、環境設定→単位・定規の設定に依存する。
mmやinchの場合は浮動少数になるので、parseInt()を使うと小数部が無くなることに注意。

また、boundsフィールドで取得できるサイズは、透明部分を除く「描画範囲」であることにも注意。

記述例:
var bounds = activeDocument.activeLayer.bounds;
var left   = parseFloat(bounds[0]); // 0番目は左端
var top    = parseFloat(bounds[1]); // 1番目は上端
var right  = parseFloat(bounds[2]); // 2番目は右端
var bottom = parseFloat(bounds[3]); // 3番目は下端


このページのタグ一覧
ExtendScript Photoshop プログラミング

記事メニュー
ウィキ募集バナー