ふわふわぷかぷか

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

【Illustratorスクリプト】オブジェクトを指定したサイズ合わせて新規作成、短い方のアートボードの長さを最小の4の倍数に。

Windows10、CS4

f:id:fuwafuwapukapuka:20191018011836j:plain

説明が難しいので百聞は一見にしかずです↓

 

 

 

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

1つだけの場合のみ動きます。

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

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

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

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

 

アプリ用にボタンとか書き出すために作りました。

前に似たようなスクリプトを作ったんですが、結局1つずつで使って、アートボードの余ってる部分を4の倍数で調整してたので。

 

松のイラストは、

松の木セットイラスト - No: 1677356/無料イラストなら「イラストAC」

を使用しています。

AIデータもダウンロードできます。

 

以下ソースコードです。

#target "illustrator"  

	//選択中のオブジェクトを取得
		var sel = app.activeDocument.selection;
	
	//1個の場合のみ動作
		if(sel.length == 1){
			
//ダイアログの設定
		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],"240");//数の入力
		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);
		
	//大きさの変更
		obj = sel[0].duplicate();

		width=obj.width;
		height=obj.height;
		
				
		if(width>height){
		//横長の場合
			rwidth=n/(width)*100;
			obj.resize(rwidth,rwidth); 
			var bns = obj.visibleBounds;
			y=obj.height;
			var height4 = 4*Math.ceil(y/4)
			yy=(height4-y)/2
			
			
		}else{
		//縦長の場合
			rheight=n/(height)*100;
			obj.resize(rheight,rheight); 
			var bns = obj.visibleBounds;
			x=obj.width;
			var width4 = 4*Math.ceil(x/4)
			xx=(width4-x)/2
			}
		
		
		
		//新規ドキュメントを作成
		if(width>height){
		var ndoc =documents.add(DocumentColorSpace.RGB,n,height4);
		obj.moveToBeginning(ndoc);
		//座標を指定		
			obj.left = 0;
			obj.top = height4-yy;
			
		}else{	
		var ndoc =documents.add(DocumentColorSpace.RGB,width4,n);
		obj.moveToBeginning(ndoc);			
			obj.left = 0+xx;
			obj.top = n;
		}
		
	}

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


}

 

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

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