選択されたオブジェクトの座標値を表示する (Illustrator CS2編)

描いた図形の座標値を表示させたい(ページ上に座標値をテキストオブジェクトとして生成)場合があります。以下のスクリプトは選択した複数のパスやテキストブロックの右下の座標値を表示するものです。


offsetX2 = 5; // 横のオフセット
offsetY2 = 5; // 縦のオフセット
selObj = activeDocument.selection;
for (i=0; i<selObj.length; i++)
{
x2 = selObj[i].geometricBounds[2];
y2 = selObj[i].geometricBounds[3];
tfObj = activeDocument.textFrames.add();
tfObj.translate(x2 + offsetX2, y2-offsetY2);
tfObj.contents = "(" + x2 + ", " + y2 +")";
for (j=0; j<tfObj.contents.length; j++)
{
tfObj.characters[j].size = 9;
}
tfObj.paragraphs[0].paragraphAttributes.justification = Justification.LEFT;
}

表示される座標値のずれ(オフセット)は最初の2行で指定できます。
offsetX2 = 5; // 横のオフセット
offsetY2 = 5; // 縦のオフセット

右下だけではなく左上にも座標値を表示させたい場合には以下のスクリプトを使ってください。
座標値のずれ(オフセット)は最初のサンプル同様に最初の4行で指定できます。

offsetX1 = 5; // 左上の座標値の横のオフセット
offsetY1 = 5; // 左上の座標値の縦のオフセット
offsetX2 = 5; // 右下の座標値の横のオフセット
offsetY2 = 5; // 右下の座標値の縦のオフセット
selObj = activeDocument.selection;
for (i=0; i<selObj.length; i++)
{
x1 = selObj[i].geometricBounds[0];
y1 = selObj[i].geometricBounds[1];
x2 = selObj[i].geometricBounds[2];
y2 = selObj[i].geometricBounds[3];
tfObj = activeDocument.textFrames.add();
tfObj.translate(x2 + offsetX2, y2- offsetY2);
tfObj.contents = "(" + x2 + ", " + y2 +")";
for (j=0; j<tfObj.contents.length; j++)
{
tfObj.characters[j].size = 9;
}
tfObj.paragraphs[0].paragraphAttributes.justification = Justification.LEFT;
tfObj = activeDocument.textFrames.add();
tfObj.translate(x1 - offsetX1, y1+ offsetY1);
tfObj.contents = "(" + x1 + ", " + y1 +")";
for (j=0; j<tfObj.contents.length; j++)
{
tfObj.characters[j].size = 9;
}
tfObj.paragraphs[0].paragraphAttributes.justification = Justification.RIGHT;
}

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