選択したオブジェクトに外接する矩形を作成します。
必要に迫られて、いつものようにニッチな動きを作成して見ました。
function drawBoundingBox() {
var doc = app.activeDocument;
if (doc.selection.length === 0) {
alert("オブジェクトを選択してください。");
return;
}
var selectedItems = doc.selection;
// 外接矩形の初期値を設定
var minX = selectedItems[0].visibleBounds[0];
var maxY = selectedItems[0].visibleBounds[1];
var maxX = selectedItems[0].visibleBounds[2];
var minY = selectedItems[0].visibleBounds[3];
// 選択したすべてのオブジェクトを走査して最大・最小の座標を取得
for (var i = 0; i < selectedItems.length; i++) {
var bounds = selectedItems[i].visibleBounds;
minX = Math.min(minX, bounds[0]);
maxY = Math.max(maxY, bounds[1]);
maxX = Math.max(maxX, bounds[2]);
minY = Math.min(minY, bounds[3]);
}
// 矩形を作成
var rect = doc.pathItems.
rectangle(maxY, minX, maxX - minX, maxY - minY);
rect.filled = false; // 塗りなし
rect.stroked = true;
rect.strokeColor = new GrayColor();
rect.strokeColor.gray = 100; // 黒
alert("選択したオブジェクトの外接矩形を描画しました!");
}
drawBoundingBox();
オブジェクトを選択してから実行すると・・・
こんな感じで外接する矩形を生成します。