今回は、図形の中心から引き出し線を描画するスクリプトです。以下は選択した図形の中心から引き出し線を描画するものです。
// 選択した図形の中心から引き出し線を描く
(function(){
var lineWidth = 40; // 40pt。横の引き出し線の長さ
var lineHeight = 20; // 20pt。縦の引き出し線の長さ
var lineType = 0; // 引き出し線の種類
// 選択された図形の座標を取得して線を描画
var selObj = app.activeDocument.selection;
for(var i=0; i< selObj.length; i++){
var rect = selObj[i].geometricBounds;
var x1 = rect[0];
var y1 = rect[1];
var x2 = rect[2];
var y2 = rect[3];
var cx = x1 + (x2-x1)/2; // 中心X座標
var cy = y1 + (y2-y1) / 2; // 中心Y座標
var w = x2-x1;
var h = Math.abs(y2-y1);
switch(lineType){
case 0:
drawLine(cx, cy, cx+w/2+lineWidth, cy);
drawLine(cx, cy, cx, cy+h/2+lineHeight);
break;
case 1:
drawLine(cx-w/2-lineWidth, cy, cx+w/2+lineWidth, cy);
drawLine(cx, cy-h/2-lineHeight, cx, cy+h/2+lineHeight);
break;
}
}
})();
function drawLine(ax1, ay1, ax2, ay2){
var lineObj = app.activeDocument.pathItems.add();
lineObj.setEntirePath([[ax1, ay1],[ax2, ay2]]);
lineObj.stroked = true;
lineObj.strokeWidth = 1; // 1ptの線
lineObj.strokeColor = setColor(0, 0, 255, 100,100,0,0); // 青色の線
}
function setColor(r, g, b, c, m, y, k){
var dcs = app.activeDocument.documentColorSpace;
if (dcs == DocumentColorSpace.RGB){
var RGB = new RGBColor();
RGB.red = r;
RGB.green = g;
RGB.blue = b;
return RGB;
}
if (dcs == DocumentColorSpace.CMYK){
var CMYK = new CMYKColor();
CMYK.cyan = c;
CMYK.magenta = m;
CMYK.yellow = y;
CMYK.black = k;
return CMYK;
}
}
引き出し線の長さは縦と横を別々指定できます。長さは以下の2行にある40、20の値を変更してください。
var lineWidth = 40; // 40pt。横の引き出し線の長さ
var lineHeight = 20; // 20pt。縦の引き出し線の長さ
また、中心線をどこから描画するかは以下の数値を変更してください。0または1を指定することができます。
var lineType = 0;
【古籏一浩】[email protected]
< http://www.openspc2.org/
>
急に寒くなったので、コタツ登場。冬の友はコタツに限ります(笑)
・HTML5ガイドブック 増補改訂版【発売中】
< http://www.amazon.co.jp/dp/4844332937
>
・JavaScript逆引きハンドブック【発売中】
< http://www.amazon.co.jp/dp/4863541082
>
・すべての人に知っておいてほしい スマートフォンサイトデザインの基本原則
< http://www.amazon.co.jp/dp/4844362844
>
・10日で覚えるHTML5入門教室
< http://www.amazon.co.jp/dp/4798124184
>
・改訂5版JavaScriptポケットリファレンス
< http://www.amazon.co.jp/dp/4774148199
>
・ハイビジョン映像素材集
< http://www.openspc2.org/HDTV/
>
・クリエイター手抜きプロジェクト
< http://www.openspc2.org/projectX/
>
・Adobe Illustrator CS3 + JavaScript 自動化サンプル集
< http://www.openspc2.org/book/PDF/Adobe_Illustrator_CS3_JavaScript_Book/
>
吉田印刷所の「印刷の泉」でも購入できるようになりました。