おはようございます。
またイラレスクリプトの復習がてらこんなのを作ってみました。
ちょっと前の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);
}
}
コメント
アクティブレイヤーにタイルを作るように修正しました!
さらに、タイルに罫線の設定が繁栄されないようにしました。