Skip to content

Instantly share code, notes, and snippets.

@brito
Last active October 29, 2015 23:49
Show Gist options
  • Save brito/059403110e98a76269c1 to your computer and use it in GitHub Desktop.
Save brito/059403110e98a76269c1 to your computer and use it in GitHub Desktop.
Create Oracle MAF icons from a red-on-transparent base icon.
#!/bin/bash
# show progress on console
set -x
# Convert an icon into mobile icons and start screens
# Usage: iconmaker.sh original-icon.png
# pick a $bgcolor from
# oracle.com/webfolder/ux/middleware/alta_icon_web_design_guide/colors-icon_palette.html
fgcolor='red'
bgcolor='#9ecc92'
original=$1
base=icon.png
# replace foreground color with white
convert $original -fuzz 90% -fill white -opaque $fgcolor $base
# fill background with bgcolor
convert $base -background $bgcolor -flatten $base
# prepare targets
devices=android,ios
eval mkdir -p "./res/{$devices}"
icons="convert $base"
$icons -resize 128 "./res/icon.png"
$icons -resize 36 "./res/android/display-ldpi-icon.png"
$icons -resize 48 "./res/android/display-mdpi-icon.png"
$icons -resize 72 "./res/android/display-hdpi-icon.png"
$icons -resize 96 "./res/android/display-xhdpi-icon.png"
# $icons -resize 144 "./res/android/display-xxhdpi-icon.png"
# $icons -resize 192 "./res/android/display-xxxhdpi-icon.png"
$icons -resize 29 "./res/ios/icon-29.png"
$icons -resize 58 "./res/ios/[email protected]"
$icons -resize 40 "./res/ios/icon-40.png"
$icons -resize 80 "./res/ios/[email protected]"
$icons -resize 50 "./res/ios/icon-50.png"
$icons -resize 100 "./res/ios/[email protected]"
$icons -resize 57 "./res/ios/icon-57.png"
$icons -resize 114 "./res/ios/[email protected]"
$icons -resize 72 "./res/ios/icon-72.png"
$icons -resize 144 "./res/ios/[email protected]"
$icons -resize 76 "./res/ios/icon-76.png"
$icons -resize 152 "./res/ios/[email protected]"
$icons -resize 120 "./res/ios/icon-120.png"
$icons -resize 1024 "./res/ios/iTunesArtwork.png"
# Splash screens
convert="convert $base -gravity center"
$convert -resize 120 -extent 640x1136 "./res/ios/[email protected]"
$convert -resize 60 -extent 320x480 "./res/ios/[email protected]"
$convert -resize 60 -extent 480x320 "./res/ios/Default-Land.png"
$convert -resize 140 -extent 1024x748 "./res/ios/Default-Landscape-Ipad.png"
$convert -resize 140 -extent 1024x748 "./res/ios/Default-Landscape.png"
$convert -resize 280 -extent 2048x1496 "./res/ios/[email protected]"
$convert -resize 288 -extent 2048x1536 "./res/ios/Default-Landscape@2x~ipad.png"
$convert -resize 144 -extent 1024x768 "./res/ios/Default-LandscapeRetina.png"
$convert -resize 288 -extent 2048x1536 "./res/ios/[email protected]"
$convert -resize 144 -extent 768x1004 "./res/ios/Default-Portrait-Ipad.png"
$convert -resize 144 -extent 768x1004 "./res/ios/Default-Portrait.png"
$convert -resize 288 -extent 1536x2008 "./res/ios/[email protected]"
$convert -resize 144 -extent 768x1024 "./res/ios/Default-PortraitRetina.png"
$convert -resize 288 -extent 1536x2048 "./res/ios/[email protected]"
$convert -resize 60 -extent 320x480 "./res/ios/Default.png"
$convert -resize 120 -extent 960x640 "./res/ios/[email protected]"
$convert -resize 120 -extent 640x960 "./res/ios/[email protected]"
$convert -resize 144 -extent 1280x800 "./res/android/display-land-hdpi-splashscreen.png"
$convert -resize 96 -extent 800x480 "./res/android/display-land-ldpi-splashscreen.png"
$convert -resize 96 -extent 800x480 "./res/android/display-land-mdpi-splashscreen.png"
$convert -resize 144 -extent 1024x768 "./res/android/display-land-xhdpi-splashscreen.png"
$convert -resize 144 -extent 800x1280 "./res/android/display-port-hdpi-splashscreen.png"
$convert -resize 96 -extent 480x800 "./res/android/display-port-ldpi-splashscreen.png"
$convert -resize 96 -extent 480x800 "./res/android/display-port-mdpi-splashscreen.png"
$convert -resize 144 -extent 768x1024 "./res/android/display-port-xhdpi-splashscreen.png"
# turn output off
set +x
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment