クリエイター手抜きプロジェクト[331]Illustrator CS3〜6編 選択した図形の中心から引き出し線を描く/古籏一浩

投稿:  著者:  読了時間:5分(本文:約2,000文字)


今回は、図形の中心から引き出し線を描画するスクリプトです。以下は選択した図形の中心から引き出し線を描画するものです。




// 選択した図形の中心から引き出し線を描く
(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;


【古籏一浩】openspc@alpha.ocn.ne.jp
< 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/ >
吉田印刷所の「印刷の泉」でも購入できるようになりました。