三日月館【別館】開発・制作Tips集
[Photoshop] ExtendScriptでレイヤーの描画矩形を取得する
最終更新:
fumiduki1985
-
view
ArtLayerオブジェクトのboundsフィールドで取得可能。
boundsフィールドはUnitValue型の4要素配列で、[左端座標, 上端座標, 右端座標, 下端座標]のように格納されている。
UnitValue型は単位付きのフォーマットであるため、parseInt(), parseFloat()等のメソッドで適切に数値に変換する必要がある。
単位は、環境設定→単位・定規の設定に依存する。
mmやinchの場合は浮動少数になるので、parseInt()を使うと小数部が無くなることに注意。
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番目は下端