Skip to content

Instantly share code, notes, and snippets.

@mkorcha
Created April 1, 2015 18:27
Show Gist options
  • Save mkorcha/f85e873873f91dac894d to your computer and use it in GitHub Desktop.
Save mkorcha/f85e873873f91dac894d to your computer and use it in GitHub Desktop.
PhoneGap Asset Generator - sizes icons and splash screens from files in a directory
#!/bin/bash
if [[ $# -lt 1 ]] ; then
echo "usage: $0 <dir>"
fi
if [ ! -d $1 ] ; then
echo "directory doesn't exist"
exit 1
fi
mkdir -p $1/android/ldpi $1/android/mdpi $1/android/hdpi $1/android/xhdpi $1/ios
if [ -f $1/icon.png ] ; then
echo "creating Android icons"
mogrify -write $1/android/ldpi/icon.png -resize $(echo 48*3/4 | bc)x$(echo 48*3/4 | bc) $1/icon.png
mogrify -write $1/android/mdpi/icon.png -resize $(echo 48 | bc)x$(echo 48 | bc) $1/icon.png
mogrify -write $1/android/hdpi/icon.png -resize $(echo 48*3/2 | bc)x$(echo 48*3/2 | bc) $1/icon.png
mogrify -write $1/android/xhdpi/icon.png -resize $(echo 48*2 | bc)x$(echo 48*2 | bc) $1/icon.png
echo "creating iOS icons"
mogrify -write $1/ios/icon-60@3x.png -resize 180x180 $1/icon.png
mogrify -write $1/ios/icon-60.png -resize 60x60 $1/icon.png
mogrify -write $1/ios/icon-60@2x.png -resize 120x120 $1/icon.png
mogrify -write $1/ios/icon-76.png -resize 76x76 $1/icon.png
mogrify -write $1/ios/icon-76@2x.png -resize 152x152 $1/icon.png
mogrify -write $1/ios/icon-40.png -resize 40x40 $1/icon.png
mogrify -write $1/ios/icon-40@2x.png -resize 80x80 $1/icon.png
mogrify -write $1/ios/icon.png -resize 57x57 $1/icon.png
mogrify -write $1/ios/icon@2x.png -resize 114x114 $1/icon.png
mogrify -write $1/ios/icon-72.png -resize 72x72 $1/icon.png
mogrify -write $1/ios/icon-72@2x.png -resize 144x144 $1/icon.png
mogrify -write $1/ios/icon-small.png -resize 29x29 $1/icon.png
mogrify -write $1/ios/icon-small@2x.png -resize 58x58 $1/icon.png
mogrify -write $1/ios/icon-50.png -resize 50x50 $1/icon.png
mogrify -write $1/ios/icon-50@2x.png -resize 100x100 $1/icon.png
fi
if [ -f $1/splash.png ] ; then
echo "creating Android splash screens"
mogrify -write $1/android/ldpi/splash.png -resize 240x400 $1/splash.png
mogrify -write $1/android/mdpi/splash.png -resize 320x480 $1/splash.png
mogrify -write $1/android/hdpi/splash.png -resize 480x800 $1/splash.png
mogrify -write $1/android/xhdpi/splash.png -resize 720x1280 $1/splash.png
echo "creating iOS splash screens"
mogrify -write $1/ios/Default~iphone.png -resize 320x480 $1/splash.png
mogrify -write $1/ios/Default@2x~iphone.png -resize 640x960 $1/splash.png
mogrify -write $1/ios/Default-Portrait~ipad.png -resize 768x1024 $1/splash.png
mogrify -write $1/ios/Default-Portrait@2x~ipad.png -resize 1536x2048 $1/splash.png
if [ -f $1/splash-thin.png ] ; then
mogrify -write $1/ios/Default-568h@2x~iphone.png -resize 640x1136 $1/splash-thin.png
mogrify -write $1/ios/Default-667h.png -resize 750x1334 $1/splash-thin.png
mogrify -write $1/ios/Default-736h.png -resize 1242x2208 $1/splash-thin.png
else
echo "couldn't create splash screen for iPhone 5 (and higher) screens"
fi
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment