2色以上のカラーオブジェクトから配色セットを自動で作成するスクリプト Illustrator

スポンサーリンク
 
  • 1455月別訪問者数:

おはようございます。
またイラレスクリプトの復習がてらこんなのを作ってみました。

ちょっと前のDTPの勉強会でヒントをえたので
2色以上のカラーオブジェクト(塗り)を選択して実行すると。
中間色の四角いオブジェクトがアートボードの左上のほうにずらーっと出来る感じ。
これをスウォッチグループに登録してもいいしスポイトでちゅっちょしてもよし。

計算であれこれしちゃったからわかりにくくなっちゃったかなあ。
またこうしたほうがってのがありましたらコメントまってます。

var lay = app.activeDocument.activeLayer
var sel =app.selection
var Tile_Count=0
if(sel.length>1){
    var dia = new Window("dialog", "配色セット作成", [0,0,250,110]);
    dia.pane1 = dia.add("panel",[5,10,240,60],"タイルの数");
    dia.tex1 = dia.pane1.add("edittext",[10,10,100,30]);
    dia.add("statictext",[110,30,240,50],"個");
    dia.bot1 = dia.add("button",[10,70,100,100],"実行", { name:"ok"});
    dia.tex1.text=5;
    dia.center();
    dia.show();
    for (i=0; i<(sel.length-1); i++){
        for (j=i+1; j<sel.length;j++){
            ColorTile(sel[i],sel[j],(25*Tile_Count),dia.tex1.text);
            Tile_Count++;
        }
    }
}else{
    alert ("カラーオブジェクトは2つ以上選択してください");
}
function ColorTile(Obj1,Obj2,y,Tx){
    var C_Keisuu=(Obj2.fillColor.cyan-Obj1.fillColor.cyan)/(Tx-1);
    var M_Keisuu=(Obj2.fillColor.magenta-Obj1.fillColor.magenta)/(Tx-1);
    var Y_Keisuu=(Obj2.fillColor.yellow-Obj1.fillColor.yellow)/(Tx-1);
    var K_Keisuu=(Obj2.fillColor.black-Obj1.fillColor.black)/(Tx-1);
    for (var i=0; i<Tx; i++){  
        var Tile =lay.pathItems.rectangle(-10-y,10+(i*25),20,20);
        Tile.stroked =false
        Tile.fillColor.cyan=Obj1.fillColor.cyan+(C_Keisuu*i);
        Tile.fillColor.magenta=Obj1.fillColor.magenta+(M_Keisuu*i);
        Tile.fillColor.yellow=Obj1.fillColor.yellow+(Y_Keisuu*i);
        Tile.fillColor.black=Obj1.fillColor.black+(K_Keisuu*i);
    }
}

コメント

  1. Roca Laboろかっぱ より:

    アクティブレイヤーにタイルを作るように修正しました!
    さらに、タイルに罫線の設定が繁栄されないようにしました。