« 背景を動的にグラデーションさせる。 | トップページ | jsは馬鹿に出来ない。 »

2014.03.01

イラストレーターの領域を黄金比で埋める

Grl


領域の高さを基準に正方形を黄金比で埋めるコード。

何に使うかって、レイアウトのガイド。

こんなのもコードにして、楽し過ぎかな。。。

/*

    golden ratio layout

    20140301

    領域内を黄金比の正方形で埋める

    */

var GR = 1.618033988749895;

var doc = app.activeDocument;

var abX,abXX,abY,abYY,abWidth,abHeight = 0;

var board = doc.artboards[doc.artboards.getActiveArtboardIndex()];

abX = board.artboardRect[0];

abXX = board.artboardRect[2];

abY = board.artboardRect[1];

abYY = board.artboardRect[3];

abWidth = abXX-abX;

abHeight = Math.abs (abYY-abY);

//アートボード縦サイズの正方形を生成

doc.pathItems.rectangle(abY,abX,abHeight,abHeight);

goldenRatio(abY,abX,abHeight,abHeight);

function goldenRatio(myY, myX, myHeight, myWidth){

    //黄金比の正方形を配置

    var newObjWidth = (GR * myWidth) - myWidth;

    var x = myX + myWidth;

    var y = myY - myHeight + newObjWidth;

    doc.pathItems.rectangle(y,x,newObjWidth,newObjWidth);

 

    var newObjWidth2 = (GR * newObjWidth) - newObjWidth;

    x = x + (newObjWidth - newObjWidth2);

    y = y + newObjWidth2;

    doc.pathItems.rectangle(y,x,newObjWidth2,newObjWidth2);

 

    var newObjWidth3 = (GR * newObjWidth2) - newObjWidth2;

    x = x - newObjWidth3;

    y = y;

    doc.pathItems.rectangle(y,x,newObjWidth3,newObjWidth3);

 

    var newObjWidth4 = (GR * newObjWidth3) - newObjWidth3;

    x = x;

    y = y - newObjWidth3;

    doc.pathItems.rectangle(y,x,newObjWidth4,newObjWidth4);

 

    var newObjWidth5 = (GR * newObjWidth4) - newObjWidth4;

    x = x + newObjWidth4;

    y = y - newObjWidth4 + newObjWidth5;

    doc.pathItems.rectangle(y,x,newObjWidth5,newObjWidth5);

    }




|

« 背景を動的にグラデーションさせる。 | トップページ | jsは馬鹿に出来ない。 »

javascript」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/198455/59220288

この記事へのトラックバック一覧です: イラストレーターの領域を黄金比で埋める:

« 背景を動的にグラデーションさせる。 | トップページ | jsは馬鹿に出来ない。 »