Skip to content

Instantly share code, notes, and snippets.

@vshy108
Forked from alvinthen/prepare_icons.sh
Last active April 10, 2017 17:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vshy108/fea364c1ff8dba7b852fe1808e613daa to your computer and use it in GitHub Desktop.
Save vshy108/fea364c1ff8dba7b852fe1808e613daa to your computer and use it in GitHub Desktop.
Make all app icons with imagemagick, iOS and Android
#!/bin/sh
base=$1
folderName=$2
if [ -z $base ]; then
echo No argument given
elif [ -z $folderName ]; then
##
## iOS files
convert "$base" -resize 20x20! "ios-Icon-20.png"
convert "$base" -resize 29x29! "ios-Icon-Small.png"
convert "$base" -resize 40x40! "ios-Icon-Small-40.png"
convert "$base" -resize 50x50! "ios-Icon-Small-50.png"
convert "$base" -resize 57x57! "ios-Icon.png"
convert "$base" -resize 58x58! "ios-Icon-Small@2x.png"
convert "$base" -resize 87x87! "ios-Icon-Small@3x.png"
convert "$base" -resize 60x60! "ios-Icon-60.png"
convert "$base" -resize 72x72! "ios-Icon-72.png"
convert "$base" -resize 76x76! "ios-Icon-76.png"
convert "$base" -resize 80x80! "ios-Icon-Small-40@2x.png"
convert "$base" -resize 100x100! "ios-Icon-Small-50@2x.png"
convert "$base" -resize 114x114! "ios-Icon@2x.png"
convert "$base" -resize 120x120! "ios-Icon-60@2x.png"
convert "$base" -resize 144x144! "ios-Icon-72@2x.png"
convert "$base" -resize 152x152! "ios-Icon-76@2x.png"
convert "$base" -resize 83.5x83.5! "ios-Icon-83.5@2x.png"
convert "$base" -resize 180x180! "ios-Icon-60@3x.png"
convert "$base" -resize 512x512! "ios-iTunesArtwork"
convert "$base" -resize 1024x1024! "ios-iTunesArtwork@2x"
##
## Android files
convert "$base" -resize 36x36! "android-Icon-ldpi.png"
convert "$base" -resize 48x48! "android-Icon-mdpi.png"
convert "$base" -resize 72x72! "android-Icon-hdpi.png"
convert "$base" -resize 96x96! "android-Icon-xhdpi.png"
convert "$base" -resize 144x144! "android-Icon-xxhdpi.png"
convert "$base" -resize 192x192! "android-Icon-xxxhdpi.png"
elif [[ -d "$folderName" && -L "$folderName" ]] ; then
echo It is a symlink!
else
# directory name provided and it is not symlink
# create the folder if it does not exist
# will also create any intermediate directories that don't exist
mkdir -p $folderName
##
## iOS files
convert "$base" -resize 20x20! "$folderName/ios-Icon-20.png"
convert "$base" -resize 29x29! "$folderName/ios-Icon-Small.png"
convert "$base" -resize 40x40! "$folderName/ios-Icon-Small-40.png"
convert "$base" -resize 50x50! "$folderName/ios-Icon-Small-50.png"
convert "$base" -resize 57x57! "$folderName/ios-Icon.png"
convert "$base" -resize 58x58! "$folderName/ios-Icon-Small@2x.png"
convert "$base" -resize 87x87! "$folderName/ios-Icon-Small@3x.png"
convert "$base" -resize 60x60! "$folderName/ios-Icon-60.png"
convert "$base" -resize 72x72! "$folderName/ios-Icon-72.png"
convert "$base" -resize 76x76! "$folderName/ios-Icon-76.png"
convert "$base" -resize 80x80! "$folderName/ios-Icon-Small-40@2x.png"
convert "$base" -resize 100x100! "$folderName/ios-Icon-Small-50@2x.png"
convert "$base" -resize 114x114! "$folderName/ios-Icon@2x.png"
convert "$base" -resize 120x120! "$folderName/ios-Icon-60@2x.png"
convert "$base" -resize 144x144! "$folderName/ios-Icon-72@2x.png"
convert "$base" -resize 152x152! "$folderName/ios-Icon-76@2x.png"
convert "$base" -resize 83.5x83.5! "$folderName/ios-Icon-83.5@2x.png"
convert "$base" -resize 180x180! "$folderName/ios-Icon-60@3x.png"
convert "$base" -resize 512x512! "$folderName/ios-iTunesArtwork"
convert "$base" -resize 1024x1024! "$folderName/ios-iTunesArtwork@2x"
##
## Android files
convert "$base" -resize 36x36! "$folderName/android-Icon-ldpi.png"
convert "$base" -resize 48x48! "$folderName/android-Icon-mdpi.png"
convert "$base" -resize 72x72! "$folderName/android-Icon-hdpi.png"
convert "$base" -resize 96x96! "$folderName/android-Icon-xhdpi.png"
convert "$base" -resize 144x144! "$folderName/android-Icon-xxhdpi.png"
convert "$base" -resize 192x192! "$folderName/android-Icon-xxxhdpi.png"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment