Windows10、CS4
イラレでドットの配置のパターンの素が一瞬で作れるスクリプトを作ってみました。
2018/3/31.プレビュー表示機能を追加しました。
パターンの素が作れるスクリプトのプレビュー表示 pic.twitter.com/NAbwp4tvNu
— ふわぷか (@float_jelly) 2018年3月30日
javascriptは初めてなので余分な所もあるかもしれませんが、せっかくなのでソースを公開します。
細かいチェックはしていません。このスクリプトを使用して問題が起きた場合責任は負いません。
こんな感じで使います↓
→ → →
①パターンにしたいオブジェクトを選択
②スクリプトを実行
③繰り返しの幅を入力(整数のみ対応)
④できたものをスウォッチに登録
⑤完成
本当はスクリプト実行後にグループ化できるとよかったのですが、ちょっと時間がかかりそうなのでとりあえず公開しちゃいます。
実行すると正方形が塗り無し・線無しの状態で1つ作成されます。パターンの背景に色をつけたい場合は、作成された正方形をCtrl+C→Ctrl+Fで前面にコピペして好きな色をつけると簡単です。
私は正方形でパターンを作ることがほとんどなので、長方形も可能にすると入力が2回になって面倒かな?と思ったので正方形のみです。
あと個人的に300pxでパターンを作るのが好きなので初期設定は300にしてありますが、「var length = dialog.add("edittext",[60,15,150,40],"300");//数の入力」の"300"を好きな数字に変えることで変更できます。
小花柄も簡単です!(全てグループ化してからの使用をおすすめします。)
花はこちらを使用しています。AIデータあり。商用利用可能で無料でダウンロードできます。
#target "illustrator"
//選択中のオブジェクトを取得
var sel = app.activeDocument.selection;
//1個以上の場合のみ動作
if(sel.length > 0){
function setRGBColor(r,g,b){
var tmpColor = new RGBColor();
tmpColor.red = r;
tmpColor.green = g;
tmpColor.blue = b;
return tmpColor;
}
function preview(){
var bns = sel[0].visibleBounds;
var n = parseInt(length.text);
docObj = activeDocument.activeLayer;
square = docObj.pathItems.rectangle(((bns[1]+bns[3])/2),((bns[0]+bns[2])/2),n,n);
sample1 = docObj.pathItems.rectangle((bns[1]),(bns[0]+n),(bns[2]-bns[0]),(-bns[3]+bns[1]));
sample2 = docObj.pathItems.rectangle((bns[1]-n),(bns[0]),(bns[2]-bns[0]),(-bns[3]+bns[1]));
sample3 = docObj.pathItems.rectangle((bns[1]-n),(bns[0]+n),(bns[2]-bns[0]),(-bns[3]+bns[1]));
sample4 = docObj.pathItems.rectangle(((bns[1])-n/2),(bns[0]+n/2),(bns[2]-bns[0]),(-bns[3]+bns[1]));
square.filled = false; // 塗りなし
square.stroked = true; // 線あり
square.strokeWidth = 5; // 線幅5ポイント
square.strokeColor = setRGBColor(100,100,100); // 線の色を指定(グレー)
sample1.filled = false; // 塗りなし
sample1.stroked = true; // 線あり
sample1.strokeWidth = 5; // 線幅5ポイント
sample1.strokeColor = setRGBColor(170,170,170); // 線の色を指定(グレー)
sample2.filled = false; // 塗りなし
sample2.stroked = true; // 線あり
sample2.strokeWidth = 5; // 線幅5ポイント
sample2.strokeColor = setRGBColor(170,170,170); // 線の色を指定(グレー)
sample3.filled = false; // 塗りなし
sample3.stroked = true; // 線あり
sample3.strokeWidth = 5; // 線幅5ポイント
sample3.strokeColor = setRGBColor(170,170,170); // 線の色を指定(グレー)
sample4.filled = false; // 塗りなし
sample4.stroked = true; // 線あり
sample4.strokeWidth = 5; // 線幅5ポイント
sample4.strokeColor = setRGBColor(170,170,170); // 線の色を指定(グレー)
}
//ダイアログを表示
var dialog = new Window("dialog","正方形のサイズを入力",[0,0,190,120]);
dialog.add ("statictext", [10,20,60,40], "辺の長さ");
var length = dialog.add("edittext",[60,15,150,40],"300");//数の入力
var btnOK = dialog.add("button",[10,70,80,100],"OK",{name:'ok'});//OK
var btnCancel = dialog.add("button",[100,70,170,100],"cancel",{name:'cancel'});//CANCEL
length.active = true; //テキストエリアをフォーカスする
dialog.onShow = function() {
preview();
app.redraw(); //ドキュメントを再描画
app.undo(); //アンドゥ
}
length.onChanging = function(){
preview();
app.redraw(); //ドキュメントを再描画
app.undo(); //アンドゥ
}
//キャンセルの処理
btnCancel.onClick = function(){ dialog.close(); }
//OKの処理
btnOK.onClick = function(){
dialog.close(); //ダイアログを閉じる
//座標を取得
var bns = sel[0].visibleBounds;
var n = parseInt(length.text);
docObj = activeDocument.activeLayer;
square = docObj.pathItems.rectangle(((bns[1]+bns[3])/2),((bns[0]+bns[2])/2),n,n);
square.filled = false; // 塗りなし
square.stroked = false; // 線なし
//四角を背面へ移動
square.zOrder(ZOrderMethod.SENDTOBACK);
//複製
for (i=0; i<sel.length; i++)
{
dp1 = sel[i].duplicate();
dp1.translate(n,0);
dp2 = sel[i].duplicate();
dp2.translate(n,-n);
dp3 = sel[i].duplicate();
dp3.translate(0,-n);
dp4 = sel[i].duplicate();
dp4.translate(n/2,-n/2);
}
//現在の選択を解除
app.activeDocument.selection = null;
square.selected = true;
}
dialog.center();//ウインドウ表示位置をモニターの中心に移動
dialog.show();//作成したウインドウを表示
};
//----[ここまで]----
イラストダウンロードサイト【イラストAC】でフリー素材を投稿しています。よろしければご覧ください。
プロフィールページ:イラストレーター ふわぷかさんのプロフィール