logo

Now Loading...

WEBサイト作りノウハウ WEBノウハウメモ

  • HOME
  • 記事一覧
  • Illustratorスクリプト 選択したオブジェクトをランダムに色を塗るツール

Illustratorスクリプト 選択したオブジェクトをランダムに色を塗るツール

cover image

カテゴリー:ツールメモ

作成日付:2020年2月11日

更新日付:2020年2月11日

IllustratorでJSXスクリプトツール、選択範囲を決まった色の組み合わせでランダムに色を塗ります。

目的

Illustratorでたくさんのオブジェクトに決められた色の組み合わせを配置したい、なんて時のスクリプト

Illustrator初心者で、たくさんの細かいPathたちにすべて配色をちりばめなければならなくなり、
どうしたもんだかと、数が多すぎて面倒だなと悩んだ結果、jsxのスクリプトが使えることに気づき簡単に作ってみた。

あまりその他の利用方法は思い浮かばず、しかし個人的にはよく使いそうなのでメモ

  • ・選択した範囲で一気に複数の色を塗りたいとき

結果

仕様

このスクリプトを実行すると以下を行います。

  • activeDocumentから選択されたオブジェクトをすべて取得し配列にします
  • for文で配列の中を1つずつ参照し、.filled = trueに設定、.fillColorにRGBを設定します
  • .fillColorに設定するRGBは事前に定義した色配列からループのたびにランダムで選択します

スクリプトファイル

ファイル名:randomColors.jsx

randomColors.jsx

ソース


// for Selection object , put colors as random.
// get Active Document
var doc = app.activeDocument;
var selObj = doc.selection;
var c;

// RGB , maxは配列の要素数にしてください。%計算で使います。
var max = 8;
var array = [
  [176,38,10],
  [255,169,60],
  [243,82,14],
  [212,62,11],
  [55,151,140],
  [176,245,252],
  [10,66,66],
  [224,203,148]
];

for (i=0; i<selObj.length; i++)
{
  c = Math.floor(Math.random()*100) % max ;
  selObj[i].filled = true;
  selObj[i].fillColor = setRGBColor(array[c][0],array[c][1],array[c][2]);
}


// RGBカラー設定
function setRGBColor(r,g,b){
    var tColor = new RGBColor();
    tColor.red = r;
    tColor.green = g;
    tColor.blue = b;
    return tColor;
}

方法

フロー

1事前設定
2実行

事前設定

ソース内の以下の部分を編集します。
arrayには配色したい色の配列をRGBで設定します。
maxには配列の要素数を記載します。
できればhexで書きたかった。


// RGB , maxは配列の要素数にしてください。%計算で使います。
var max = 8;
var array = [
  [176,38,10],
  [255,169,60],
  [243,82,14],
  [212,62,11],
  [55,151,140],
  [176,245,252],
  [10,66,66],
  [224,203,148]
];

これで事前設定は終わりです。

実行

以下手順で実行します。

#1 Illustrator上で色を塗りたいオブジェクトを選択します。

#2 選択した状態でrandomColors.jsxをIllustratorにドラッグドロップします。

*ちゃんとスクリプト登録したい場合は登録して実行してください。