系統図などで、四角い枠の中に文字をレイアウトすることがあります。そのような場合、文字と枠の大きさを最後に調整する時に、自動的に枠をテキストボックスの大きさに合わせてくれると便利です。
以下のスクリプトは、テキストボックスと枠の二つを選択し実行すると自動的にテキストボックスのサイズに枠を合わせてくれます。枠は四角形だけでなく、楕円でも六角形でも自動的に処理されサイズが調整されます。
以下のスクリプトは、テキストボックスと枠の二つを選択し実行すると自動的にテキストボックスのサイズに枠を合わせてくれます。枠は四角形だけでなく、楕円でも六角形でも自動的に処理されサイズが調整されます。
// sel1はテキスト、sel2はボックスというのが大前提
marginLeft = 10; // 左側の余白(単位はピクセル)
marginRight = 10; // 右側の余白(単位はピクセル)
marginTop = 10; // 上側の余白(単位はピクセル)
marginBottom = 10; // 下側の余白(単位はピクセル)
sel1 = activeDocument.selection[0];
sel2 = activeDocument.selection[1];
if (sel1.typename != "TextFrame") {
sel = sel1;
sel1 = sel2;
sel2 = sel;
}
sel1X1 = sel1.geometricBounds[0];
sel1Y1 = sel1.geometricBounds[1];
sel1X2 = sel1.geometricBounds[2];
sel1Y2 = sel1.geometricBounds[3];
sel2X1 = sel2.geometricBounds[0];
sel2Y1 = sel2.geometricBounds[1];
sel2X2 = sel2.geometricBounds[2];
sel2Y2 = sel2.geometricBounds[3];
w1 = Math.abs(sel1X2-sel1X1) + marginLeft + marginRight;
w2 = Math.abs(sel2X2-sel2X1);
h1 = Math.abs(sel1Y2-sel1Y1) + marginTop + marginBottom;
h2 = Math.abs(sel2Y2-sel2Y1);
sel2.resize(w1/w2*100, h1/h2*100);
sel1X1 = sel1.geometricBounds[0];
sel1Y1 = sel1.geometricBounds[1];
sel1X2 = sel1.geometricBounds[2];
sel1Y2 = sel1.geometricBounds[3];
sel2X1 = sel2.geometricBounds[0];
sel2Y1 = sel2.geometricBounds[1];
sel2X2 = sel2.geometricBounds[2];
sel2Y2 = sel2.geometricBounds[3];
sel2.translate(sel1X1-sel2X1, sel1Y1-sel2Y1);
sel2.translate(-marginLeft, marginTop);
【古籏一浩】openspc@po.shiojiri.ne.jp
http://www.openspc2.org/
買いました、Adobe CS3 Premium と Fireworks CS3。Photoshop CS3はスクリプトで文字単位処理が、かなりやりにくいままな仕様(みたい)。とりあえず、Photoshop CS3のページ作ってみました。
< http://www.openspc2.org/reibun/PhotoshopCS3/
>
あと、毎コミの方もよろしく。
- ゼロからはじめるpager - Web文章をらくらく分割してみよう
< http://journal.mycom.co.jp/articles/2007/06/19/null/index.html
>
marginLeft = 10; // 左側の余白(単位はピクセル)
marginRight = 10; // 右側の余白(単位はピクセル)
marginTop = 10; // 上側の余白(単位はピクセル)
marginBottom = 10; // 下側の余白(単位はピクセル)
sel1 = activeDocument.selection[0];
sel2 = activeDocument.selection[1];
if (sel1.typename != "TextFrame") {
sel = sel1;
sel1 = sel2;
sel2 = sel;
}
sel1X1 = sel1.geometricBounds[0];
sel1Y1 = sel1.geometricBounds[1];
sel1X2 = sel1.geometricBounds[2];
sel1Y2 = sel1.geometricBounds[3];
sel2X1 = sel2.geometricBounds[0];
sel2Y1 = sel2.geometricBounds[1];
sel2X2 = sel2.geometricBounds[2];
sel2Y2 = sel2.geometricBounds[3];
w1 = Math.abs(sel1X2-sel1X1) + marginLeft + marginRight;
w2 = Math.abs(sel2X2-sel2X1);
h1 = Math.abs(sel1Y2-sel1Y1) + marginTop + marginBottom;
h2 = Math.abs(sel2Y2-sel2Y1);
sel2.resize(w1/w2*100, h1/h2*100);
sel1X1 = sel1.geometricBounds[0];
sel1Y1 = sel1.geometricBounds[1];
sel1X2 = sel1.geometricBounds[2];
sel1Y2 = sel1.geometricBounds[3];
sel2X1 = sel2.geometricBounds[0];
sel2Y1 = sel2.geometricBounds[1];
sel2X2 = sel2.geometricBounds[2];
sel2Y2 = sel2.geometricBounds[3];
sel2.translate(sel1X1-sel2X1, sel1Y1-sel2Y1);
sel2.translate(-marginLeft, marginTop);
【古籏一浩】openspc@po.shiojiri.ne.jp
http://www.openspc2.org/
買いました、Adobe CS3 Premium と Fireworks CS3。Photoshop CS3はスクリプトで文字単位処理が、かなりやりにくいままな仕様(みたい)。とりあえず、Photoshop CS3のページ作ってみました。
< http://www.openspc2.org/reibun/PhotoshopCS3/
>
あと、毎コミの方もよろしく。
- ゼロからはじめるpager - Web文章をらくらく分割してみよう
< http://journal.mycom.co.jp/articles/2007/06/19/null/index.html
>