Skip to content

Instantly share code, notes, and snippets.

@wreiske
Created March 29, 2015 19:13
Show Gist options
  • Save wreiske/a9d2706491a073b293de to your computer and use it in GitHub Desktop.
Save wreiske/a9d2706491a073b293de to your computer and use it in GitHub Desktop.
Creates all the needed icons for Android and iOS + mobile-config.js for Meteor
import os
from progressbar import ProgressBar, Percentage, Bar, ETA
print "----------------- Icon Generator ------------------"
print "Usage: icon-generator.py"
print "See files_ios { } in icon-generator.py"
print "icon-ios.png and icon-android.png"
print "---------------------------------------------------"
input_ios = './icon-ios.png'
input_android = './icon-android.png'
files_ios = {
'./resources/icons/icon-60x60.png':'60x60',
'./resources/icons/icon-60x60@2x.png':'120x120',
'./resources/icons/icon-60x60@3x.png':'180x180',
'./resources/icons/icon-72x72.png':'72x72',
'./resources/icons/icon-72x72@2x.png':'144x144',
'./resources/icons/icon-76x76.png':'76x76',
'./resources/icons/icon-76x76@2x.png':'152x152',
'./resources/icons/icon-36x36.png':'36x36',
'./resources/icons/icon-48x48.png':'48x48',
'./resources/icons/icon-96x96.png':'96x96',
'./resources/icons/icon-144x144.png':'144x144',
'./resources/icons/icon-192x192.png':'192x192'
}
files_android = {
'./resources/icons/icon-72x72-android.png':'72x72',
'./resources/icons/icon-36x36-android.png':'36x36',
'./resources/icons/icon-48x48-android.png':'48x48',
'./resources/icons/icon-96x96-android.png':'96x96'
}
file_count = len(files_ios)
pbar = ProgressBar(widgets=[Percentage(),' ', ETA(), ' ', Bar()], maxval=file_count)
print "Total Images to Convert = %s" % (file_count+1)
for f,s in pbar(files_ios.items()):
os.system("rm -f " + f)
os.system("convert " + input_ios + " -resize " + s + " " + f)
file_count = len(files_android)
pbar = ProgressBar(widgets=[Percentage(),' ', ETA(), ' ', Bar()], maxval=file_count)
print "Total Images to Convert = %s" % (file_count+1)
for f,s in pbar(files_android.items()):
os.system("rm -f " + f)
os.system("convert " + input_android + " -resize " + s + " " + f)
App.icons({
// iOS
'iphone': 'resources/icons/icon-60x60.png',
'iphone_2x': 'resources/icons/icon-60x60@2x.png',
'iphone_3x': 'resources/icons/icon-60x60@3x.png',
'ipad': 'resources/icons/icon-76x76.png',
'ipad_2x': 'resources/icons/icon-76x76@2x.png',
// Android
'android_ldpi': 'resources/icons/icon-36x36-android.png',
'android_mdpi': 'resources/icons/icon-48x48-android.png',
'android_hdpi': 'resources/icons/icon-72x72-android.png',
'android_xhdpi': 'resources/icons/icon-96x96-android.png'
});
@wreiske
Copy link
Author

wreiske commented Mar 29, 2015

Note: You need to make sure that the directories exist.

mkdir resources
mkdir resources/icons/
python icon-generator.py
----------------- Icon Generator ------------------
Usage: generate_icons.py
See files_ios { } in generate_icons.py
icon-ios.png and icon-android.png
---------------------------------------------------
Total Images to Convert = 13
100% Time: 0:00:00 |#####################################################################|
Total Images to Convert = 5
100% Time: 0:00:00 |#####################################################################|

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment