ふわふわぷかぷか

javaって何?から始めた初心者のandroidアプリ開発メモ。でも最近はイラレにはまってます。

【Illustratorスクリプト】一瞬でパターンの素が作れるスクリプト

Windows10、CS4

イラレでドットの配置のパターンの素が一瞬で作れるスクリプトを作ってみました。

2018/3/31.プレビュー表示機能を追加しました。

 

javascriptは初めてなので余分な所もあるかもしれませんが、せっかくなのでソースを公開します。

細かいチェックはしていません。このスクリプトを使用して問題が起きた場合責任は負いません。 

 

こんな感じで使います↓

f:id:fuwafuwapukapuka:20171026185036p:plain → f:id:fuwafuwapukapuka:20171026185123p:plain → f:id:fuwafuwapukapuka:20171026185128p:plain →f:id:fuwafuwapukapuka:20171026185131p:plain

①パターンにしたいオブジェクトを選択

スクリプトを実行

③繰り返しの幅を入力

④できたものをスウォッチに登録

⑤完成

本当はスクリプト実行後にグループ化できるとよかったのですが、ちょっと時間がかかりそうなのでとりあえず公開しちゃいます。

実行すると正方形が塗り無し・線無しの状態で1つ作成されます。パターンの背景に色をつけたい場合は、作成された正方形をCtrl+C→Ctrl+Fで前面にコピペして好きな色をつけると簡単です。

私は正方形でパターンを作ることがほとんどなので、長方形も可能にすると入力が2回になって面倒かな?と思ったので正方形のみです。

あと個人的に300pxでパターンを作るのが好きなので初期設定は300にしてありますが、「var length = dialog.add("edittext",[60,15,150,40],"300");//数の入力」"300"を好きな数字に変えることで変更できます。

 

小花柄も簡単です!(全てグループ化してからの使用をおすすめします。)

花はこちらを使用しています。AIデータあり。商用利用可能で無料でダウンロードできます。

f:id:fuwafuwapukapuka:20171026190450p:plain f:id:fuwafuwapukapuka:20171026190456p:plain f:id:fuwafuwapukapuka:20171026190500p:plain

 

ソースコード

#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】でフリー素材を投稿しています。よろしければご覧ください。

プロフィールページ:イラストレーター ふわぷかさんのプロフィール

 

かわいい南仏のデザイン素材集 ボタニカルデザインブック

かわいい南仏のデザイン素材集 ボタニカルデザインブック