ふわふわぷかぷか

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

【Illustratorスクリプト】オブジェクトを指定したサイズに揃えて1つずつレイヤーにコピペするスクリプト。

Windows10、CS4

オブジェクトを指定したサイズに揃えて、1つずつ新しいレイヤーにコピペするスクリプトを作りました。ちゃんと中心に揃います!

f:id:fuwafuwapukapuka:20180401023105j:plain

イラレでアプリのアイコンとかを作って、いっぱい作るほど書き出す作業が辛い!レイヤー毎に書き出すスクリプトはあっても配置までが辛い!ということで作りました。

※アウトライン化してから使用してください

アウトライン化していない場合は、アンカーポイントの両端が指定したサイズになり線の端が左端または下に揃うため右か上にはみ出します。

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

こんな感じです↓

 沢山だと黒くなりますができると思います。↓

 公園の素材は公園の遊具と木のアイコンセットイラスト/無料イラストなら「イラストAC」を使用しています。

 

以下ソースコードです。

#target "illustrator"  

	//選択中のオブジェクトを取得
		var sel = app.activeDocument.selection;
	
	//1個以上の場合のみ動作
		if(sel.length > 0){
			
//ダイアログの設定
		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;	//テキストエリアをフォーカスする
		

	//キャンセルの処理
		btnCancel.onClick = function(){ dialog.close(); }
		
	//OKの処理
		btnOK.onClick = function(){
		dialog.close(); //ダイアログを閉じる
		var n=parseInt(length.text);

	//新規ドキュメントを作成
		var ndoc =documents.add(DocumentColorSpace.RGB,n,n);		
		
	//1つ目のオブジェクトを配置	
		obj = sel[0].duplicate();
		obj.moveToBeginning(ndoc);
		
		var bns = sel[0].visibleBounds;
		width=obj.width;
		height=obj.height;
		
		if(width>height){
		//横長の場合
			rwidth=n/(width)*100;
			obj.resize(rwidth,rwidth); 
			var bns = obj.visibleBounds;
			y=obj.height;
			yy=(n-y)/2			
		//座標を指定		
			obj.left = 0;
			obj.top = n-yy;
		
		}else{
		//縦長の場合
			rheight=n/(height)*100;
			obj.resize(rheight,rheight); 
			var bns = obj.visibleBounds;
			x=obj.width;
			xx=(n-x)/2			
		//座標を指定		
			obj.left = 0+xx;
			obj.top = n;
		}
			
		
		


	//2個以上の場合繰り返し	
		for (i=1; i<sel.length; i++){
	//レイヤーを作成
		lay = activeDocument.layers.add();
		lay.name = "レイヤー"+(i+1);
		
	//オブジェクトを貼り付け	
		obj = sel[i].duplicate();
		obj.moveToBeginning(ndoc);
		
		var bns = sel[i].visibleBounds;
		width=obj.width;
		height=obj.height;
		
		if(width>height){
		//横長の場合
			rwidth=n/(width)*100;
			obj.resize(rwidth,rwidth); 
			var bns = obj.visibleBounds;
			y=obj.height;
			yy=(n-y)/2			
		//座標を指定		
			obj.left = 0;
			obj.top = n-yy;
		
		}else{
		//縦長の場合
			rheight=n/(height)*100;
			obj.resize(rheight,rheight); 
			var bns = obj.visibleBounds;
			x=obj.width;
			xx=(n-x)/2			
		//座標を指定		
			obj.left = 0+xx;
			obj.top = n;
		}
		
		}
		}

		dialog.center();//ダイアログ表示位置をモニターの中心に移動
		dialog.show();//作成したダイアログを表示


}

 

 イラストダウンロードサイト【イラストAC】でフリー素材を投稿しています。よろしければご覧ください。

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