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

スマゲ

スマートなゲームづくりを目指して日々精進

iOSのストア用スクリーンショットの各サイズを一括で準備する

iOSアプリを申請するときに必要な画像群を一括で準備する

■iOSアプリ申請に必要なサイズ
iOSのアプリ申請には以下のサイズのスクリーンショットが必要であり、それぞれの画面サイズに対して最低1枚、最大5枚の画像を登録する必要がある。そこでimagemagickとシェルスクリプトを用いて必要な画像を一括で出力をしてみる。

■申請に必要な解像度一覧
3.5 inch : 640 x 920
4 inch : 640 x 1096
4.7 inch : 750 x 1334
5.5 inch : 1242 x 2208
iPad : 768 x 1024

■一括リサイズの方法
16:9のスクリーンショット画像を用意してそれをそれぞれの画像サイズへリサイズする。
ただそのまま画像をリサイズすると挿入した文字や画像が歪むため、元画像の幅の解像度を目的の解像度の幅に合わせ、下部分を切り取ることで対処する。

■元画像の準備
16:9のストア画像を用意する。サイズは1080x1920にした
f:id:sanukin39:20160430175046p:plainf:id:sanukin39:20160430175050p:plain

■Homebrewのインストール
以下のリンクからHomebrewをインストールする
Homebrew — The missing package manager for OS X

■imagemagickのインストール
homebrewを用いてインストールする

brew install imagemagick

■シェルスクリプトの準備
一括変換を行うシェルスクリプトと元画像を同じ場所に作成する

#!bin/sh

array=('640x920' '640x1096' '750x1334' '1242x2208' '768x1024')

for dir in ${array[@]}; do
    mkdir ${dir}
done

# 同フォルダ内にあるpng, jpgを取得
for file in `\find . -maxdepth 1 -type f -name '*.png' -or -name '*.jpg'`; do
    echo convert ${file}
    for dir in ${array[@]}; do
	w=`echo ${dir} | cut -d 'x' -f 1`
        convert ${file} -resize ${w}x ${dir}/kari.png
	cd ${dir}
        convert kari.png -crop ${dir} ${file}
	rm kari.png
	rm *-1.png
	cd ..
    done
done

■実行
実行権限の付与後、実行する
権限付与

chmod +x imageConvert.sh

実行

sh imageConvert.sh

■結果
元画像と同じ階層に申請に必要なそれぞれの解像度のフォルダが作成され、中に変換された画像が出力される
f:id:sanukin39:20160430180818p:plain

出力例1: 750 x 1334
アスペクト比が元画像とほぼ同じなのでサイズだけ変更される
f:id:sanukin39:20160430180947p:plainf:id:sanukin39:20160430180951p:plain

出力例2: 640 x 920
アスペクト比が元画像より小さいので下部が切れて出力される
f:id:sanukin39:20160430181111p:plainf:id:sanukin39:20160430181115p:plain

■まとめ
切れる部分を考慮しながら、元画像を作成する必要があるが、iOS申請に必要な解像度の画像を準備することができた。
企業であれば、それぞれの解像度に対して適切な画像を用意するものだが、個人製作の場合はこれでも十分だと思う。