ITごはん

ITを活用したい人、ITで何か作りたい人、そんなITでごはんを食べる人のためのブログ

【iOS/Android】申請用スクリーンショットを一括自動作成

申請用スクリーンショットの作成は面倒臭い

iOSもiPhone6/6Plusが出てきて、対応しなきゃいけないスマホのマルチデバイス対応の作業量は増えてしまいました。 それに応じてスクリーンショット複数の登録がマストとなってしまったので、一括自動作成のシェルを作成しました。

ご利用頂ければ幸いです。

なお、本記事は以下を参考に、Android対応に拡張しました。http://blog.haranicle.net/さん、ありがとうございます!

新iTunes Connect用のスクリーンショット作成の苦行をなんとかする | blog.haranicle.net

使い方

MacImageMagickをインストールする

  • ImageMagickのインストールは、環境によって色々違うのですが、頑張ってインストールします。
  • ImageMagickは、ちょっとした画像の変換やPDF化などが簡単にできるので、インストールして損無いです。

・以下の様なフォルダを作成する  スクリーンショットのファイル名はss1.png〜ss5.pngの固定です。

Resize
|--original
|  |--ss1.png
|  |--ss2.png
|  |--ss3.png
|  |--ss4.png
|  |--ss5.png
|--resize.sh

・上記のresize.shの中身は以下です。このresize.shを叩けば一発で作成できます。

#!/bin/sh

# settings ==========

# src file name
fileNamePrefix="ss"

# dest directory name
orgDir="./original/"
destDir="./iOS/"
destDir4_7="./iOS/4.7inch/"
destDir4="./iOS/4inch/"
destDir3_5="./iOS/3.5inch/"
destDir5_5="./iOS/5.5inch/"
destDirIpad="./iOS/ipad/"

destDirAndroid="./Android/"
destDirAndroid180x120="./Android/180x120/"
destDirAndroid320x480="./Android/320x480/"
destDirAndroid480x800="./Android/480x800/"
destDirAndroid480x854="./Android/480x854/"
destDirAndroid800x1280="./Android/800x1280/"


# ====================

# create dest directory
# mkdir $orgDir

mkdir $destDir
mkdir $destDir4_7
mkdir $destDir4
mkdir $destDir3_5
mkdir $destDir5_5
mkdir $destDirIpad

mkdir $destDirAndroid
mkdir $destDirAndroid180x120
mkdir $destDirAndroid320x480
mkdir $destDirAndroid480x800
mkdir $destDirAndroid480x854
mkdir $destDirAndroid800x1280

#################################
# loop for iOS 5.5inch
#################################
echo "5.5inch"
for i in 1 2 3 4 5
do
destFilePath=$destDir5_5$fileNamePrefix$i".png"
echo $destFilePath

#リサイズ&白埋め(白の画像を重ねるcomposite)
new_size="1242x2208"
convert $orgDir$fileNamePrefix$i".png" -resize $new_size\> -size $new_size xc:white +swap -gravity center -composite $destFilePath

done

#################################
# loop for iOS 4.7inch
#################################
echo "4.7inch"
for i in 1 2 3 4 5
do
  destFilePath=$destDir4_7$fileNamePrefix$i".png"
  echo $destFilePath

#リサイズ&白埋め(白の画像を重ねるcomposite)
new_size="750x1334"
convert $orgDir$fileNamePrefix$i".png" -resize $new_size\> -size $new_size xc:white +swap -gravity center -composite $destFilePath

done

#################################
# loop for iOS 4inch
#################################
echo "4inch"
for i in 1 2 3 4 5
do
  destFilePath=$destDir4$fileNamePrefix$i".png"
  echo $destFilePath

#リサイズ&白埋め(白の画像を重ねるcomposite)
new_size="640x1136"
convert $orgDir$fileNamePrefix$i".png" -resize $new_size\> -size $new_size xc:white +swap -gravity center -composite $destFilePath

done

#################################
# loop for iOS 3.5inch
#################################
echo "iOS 3.5inch"
for i in 1 2 3 4 5
do
  destFilePath=$destDir3_5$fileNamePrefix$i".png"
  echo $destFilePath
#リサイズ&白埋め(白の画像を重ねるcomposite)
new_size="640x960"
convert $orgDir$fileNamePrefix$i".png" -resize $new_size\> -size $new_size xc:white +swap -gravity center -composite $destFilePath

done

#################################
# loop for iOS iPad
#################################
echo "iOS iPad"
for i in 1 2 3 4 5
do
destFilePath=$destDirIpad$fileNamePrefix$i".png"
echo $destFilePath
#リサイズ&白埋め(白の画像を重ねるcomposite)
new_size="768x1024"
convert $orgDir$fileNamePrefix$i".png" -resize $new_size\> -size $new_size xc:white +swap -gravity center -composite $destFilePath

done

#################################
# loop for Android 180x120
#################################
#echo "Android 180x120"
#for i in 1 2 3 4 5
#do
#destFilePath=$destDirAndroid180x120$fileNamePrefix$i".png"
#echo $destFilePath
#リサイズ&白埋め(白の画像を重ねるcomposite)
#new_size="180x120"
#convert $orgDir$fileNamePrefix$i".png" -resize $new_size\> -size $new_size xc:white +swap -gravity center -composite $destFilePath
#done

#################################
# loop for Android 320x480
#################################
echo "Android 320x480"
for i in 1 2 3 4 5
do
destFilePath=$destDirAndroid320x480$fileNamePrefix$i".png"
echo $destFilePath
#リサイズ&白埋め(白の画像を重ねるcomposite)
new_size="320x480"
convert $orgDir$fileNamePrefix$i".png" -resize $new_size\> -size $new_size xc:white +swap -gravity center -composite $destFilePath

done

#################################
# loop for Android 480x800
#################################
echo "Android 480x800"
for i in 1 2 3 4 5
do
destFilePath=$destDirAndroid480x800$fileNamePrefix$i".png"
echo $destFilePath
#リサイズ&白埋め(白の画像を重ねるcomposite)
new_size="480x800"
convert $orgDir$fileNamePrefix$i".png" -resize $new_size\> -size $new_size xc:white +swap -gravity center -composite $destFilePath
done

#################################
# loop for Android 480x854
#################################
echo "Android 480x854"
for i in 1 2 3 4 5
do
destFilePath=$destDirAndroid480x854$fileNamePrefix$i".png"
echo $destFilePath
#リサイズ&白埋め(白の画像を重ねるcomposite)
new_size="480x854"
convert $orgDir$fileNamePrefix$i".png" -resize $new_size\> -size $new_size xc:white +swap -gravity center -composite $destFilePath
done

#################################
# loop for Android 800x1280
#################################
echo "Android 800x1280"
for i in 1 2 3 4 5
do
destFilePath=$destDirAndroid800x1280$fileNamePrefix$i".png"
echo $destFilePath
#リサイズ&白埋め(白の画像を重ねるcomposite)
new_size="800x1280"
convert $orgDir$fileNamePrefix$i".png" -resize $new_size\> -size $new_size xc:white +swap -gravity center -composite $destFilePath
done

カスタマイズ

・ほかの違うサイズも作成したいってときは、

new_size="1242x2208"

とかなっている部分を、すきなサイズ(幅x高さ)に変更すればいいです。

・背景を白塗りじゃなくて、黒塗りにしたいなどの場合は

convert $orgDir$fileNamePrefix$i".png" -resize $new_size\> -size $new_size xc:white +swap -gravity center -composite $destFilePath

のxc:white を xc:blackに変更すればOKです。