【Illustratorスクリプト】オブジェクトの大きさを指定したサイズに一括で変更するスクリプト。 - ふわふわぷかぷか

ふわふわぷかぷか

最近はイラレとAeにはまってます。

【Illustratorスクリプト】オブジェクトの大きさを指定したサイズに一括で変更するスクリプト。

Windows10、CC2021

大きさを一括で変更

大きさを一括で変更するイラレスクリプトです。

オブジェクトの大きさが入力した数値になるように拡大or縮小します。

縦と横、大きい方が入力した数値になります。

線がある場合、少しだけ誤差があります。

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

 

こんな感じです↓

 

以下ソースコードです。

#target "illustrator"  
	
//選択中のオブジェクトを取得
	var sel = app.activeDocument.selection;
	
//選択している場合のみ動作
		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],"480");//数の入力
		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);
		
		

		
for (i=0; i<sel.length; i++){	
		x1 = sel[i].visibleBounds[0];
		y1 = sel[i].visibleBounds[1];
		x2 = sel[i].visibleBounds[2];
		y2 = sel[i].visibleBounds[3];
		
		width = x2-x1;
		height = -(y2-y1);


//大きさの変更		
		if(width>height){

		//横長の場合
			rwidth=n/(width)*100;
			sel[i].resize(rwidth,rwidth,true,true,true,true,rwidth); 
	
		
		}else{
		//縦長の場合
			rheight=n/(height)*100;
			sel[i].resize(rheight,rheight,true,true,true,true,rheight);

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

 

resizeの中身

sel[i].resize(rheight,rheight,true,true,true,true,rheight);

sel[i].resize(横幅,高さ,オブジェクトの変形,パターンの変形,グラデーション,線のパターン,線幅);

 

参考:

スクリプトでイラストのサイズを相対的に変更する【Illustrator】 | 生焼けプログラマーの雑記帳

Illustrator JavaScript Reference イラストレーター JavaScript リファレンス