ふわふわぷかぷか

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

【Illustratorスクリプト】オブジェクトをアートボードピッタリのサイズにして中央に配置するスクリプト。

Windows10、CS4

選択したオブジェクトをアートボードピッタリ&中央に配置するスクリプトです。

f:id:fuwafuwapukapuka:20180520001638j:plain

高さに合わせるか幅に合わせるかは、より大きく表示できる方にしてあります。

オブジェクトを選択後、スクリプトを実行します。

※アウトライン化していないものははみ出します。

※線幅は変更されないみたいです。

※不透明マスクは変な風になってしまいました。

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

 

複数選択した場合、全部ピタッとさせます。

レイヤーが分かれていてもOKです。多分。

 登場している気球や遊園地のイラストは遊園地の素材セットイラスト/無料イラストなら「イラストAC」を使用しています。AIデータもダウンロードできます。

 

以下ソースコードです。

#target "illustrator"  

//選択中のオブジェクトを取得
var sel = app.activeDocument.selection;
	
//1個以上の場合のみ動作
if(sel.length > 0){
	
//アートボードのサイズを取得		
	var artindex = app.activeDocument.artboards.getActiveArtboardIndex();
	var artpoint = app.activeDocument.artboards[artindex].artboardRect;
		var x1 = artpoint[0];
		var y1 = artpoint[1];
		var x2 = artpoint[2];
		var y2 = artpoint[3];
		
	var artwidth = x2-x1
	var artheight = -y2+y1

//オブジェクトを横幅に合わせる
	obj = sel[0];
	
	var bns = sel[0].visibleBounds;
		width=obj.width;
		height=obj.height;
				
		rwidth=artwidth/(width)*100;
		obj.resize(rwidth,rwidth); 
		
		rheight=obj.height;
		yy=y1-((artheight-rheight)/2)
		
//座標を指定		
		obj.left = x1;
		obj.top = yy;
			
//縦がはみ出した場合
	if(rheight>artheight){
		
		lwidth=obj.width;
		lheight=obj.height;
		rlheight=artheight/(lheight)*100;
			obj.resize(rlheight,rlheight); 
			rlwidth=obj.width;
			xx=x1+((artwidth-rlwidth)/2)			
		//座標を指定		
			obj.left = xx;
			obj.top = y1;
	}

//2個以上の場合繰り返し	
	for (i=1; i<sel.length; i++){

//オブジェクトを横幅に合わせる
	obj = sel[i];
	
	var bns = sel[i].visibleBounds;
		width=obj.width;
		height=obj.height;
				
		rwidth=artwidth/(width)*100;
		obj.resize(rwidth,rwidth); 
		
		rheight=obj.height;
		yy=y1-((artheight-rheight)/2)
		
//座標を指定		
		obj.left = x1;
		obj.top = yy;
			
//縦がはみ出した場合
	if(rheight>artheight){
		
		lwidth=obj.width;
		lheight=obj.height;
		rlheight=artheight/(lheight)*100;
			obj.resize(rlheight,rlheight); 
			rlwidth=obj.width;
			xx=x1+((artwidth-rlwidth)/2)			
		//座標を指定		
			obj.left = xx;
			obj.top = y1;
	}
}
}

 

アートボードの中心に揃えるところでハマったのでメモ。

ちゃんと作るのが面倒だったので本当にメモ。

ここら辺↓

rheight=obj.height;
yy=y1-((artheight-rheight)/2)
//座標を指定
obj.left = x1;
obj.top = yy;

f:id:fuwafuwapukapuka:20180520010208j:plain

 

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

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