読者です 読者をやめる 読者になる 読者になる

RetroWeb ~iPhoneとAndroidでハイブリッドゲームアプリ開発~

AIR for iOS+AndroidでSmartPhone Game ハイブリッドアプリ開発

最近作ったアプリ
100億本の抜け毛 100億匹のモナー DQ3闘技場アプリ モナーペット(進化)

PhotoShopで自動でアプリの全アイコン&申請時に必要そうな画像を生成するバッチスクリプト

[PhotoShop Script]

iPhoneAndroid全部生成します。うかつにscript書いたらpngが圧縮されてなかったので、圧縮もするようになってます。

PhotoShopがインストールされてる環境で、hoge.jsxみたいに好きなファイル名つけてダブルクリックしてください。

//1024.pngというファイル名のアイコン画像をこのスクリプトファイルのディレクトリにおいて実行する

//設置ディレクトリパス
var dirName = "/Users/hoge/Desktop/flash/hogehoge_app/icon/";

var time=new Date().getTime();
var size;

new Folder(dirName+"android").create();

var iosPixcels = [29,57,114,512,48,72,50,58,100,144,1024];
var androidPixcels = [192,144,96,72,48,36];


for(var i=0; i<iosPixcels.length; i++){ saveImg(iosPixcels[i], ""); }
for(var i=0; i<androidPixcels.length; i++){ saveImg(androidPixcels[i], "android/"); }


function saveImg(px, parentName){
	fileObj0 = new File(dirName+"1024.png");
	open(fileObj0);
	tougouAll();
	preferences.rulerUnits = Units.PIXELS;
	activeDocument.resizeImage(px,px);
	fileObj = new File(dirName+parentName+px+".png");
	pngOpt = new PNGSaveOptions();
	pngOpt.compression=9  // (level of compression 0 .. 9       0 - without compression
	pngOpt.interlaced = false;
	activeDocument.saveAs(fileObj, pngOpt, true, Extension.LOWERCASE);
	activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}

function tougouAll(){
	var docObj = documents;
	for (var i=0; i<docObj.length; i++){
		activeDocument = docObj[i];
		if (docObj[i].artLayers.length > 1){
			docObj[i].mergeVisibleLayers();
		}
	}
}

function saveAndroid1024x500Img(){
	fileObj0 = new File(dirName+"1024.png");
	open(fileObj0);
	tougouAll();
	preferences.rulerUnits = Units.PIXELS;

	//画像解像度
	activeDocument.resizeImage(500,500);
	//カンバスサイズ
	activeDocument.resizeCanvas(1024,500);

	//新規レイヤー&一番下に&黒か白で塗りつぶし
	layObj = activeDocument.artLayers.add();
	layObj.move(activeDocument.layers[1],ElementPlacement.PLACEAFTER);// ElementPlacement.PLACEATEND);
	//移動基点,位置指定オブジェクト)
	activeDocument.selection.selectAll();
	RGBColor = new SolidColor();
	RGBColor.red = //255;
	RGBColor.green = //255;
	RGBColor.blue = 255;//●ここで背景の色指定可能
	//selReg = [[0,0],[200,0],[200,100],[0,100]];
	//activeDocument.selection.select(selReg);
	activeDocument.selection.fill(RGBColor,ColorBlendMode.NORMAL, 100, false);

	fileObj = new File(dirName+"android/1024_500.png");
	pngOpt = new PNGSaveOptions();
	pngOpt.compression=9  // (level of compression 0 .. 9       0 - without compression
	pngOpt.interlaced = false;
	activeDocument.saveAs(fileObj, pngOpt, true, Extension.LOWERCASE);
	activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}

saveAndroid1024x500Img();//Android用の申請画像も生成

alert("Finish! "+((new Date().getTime()) - time)/1000+"秒");