Skip to content

Instantly share code, notes, and snippets.

@charlee
Created April 10, 2016 16:45
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 charlee/248b3dbbb63d3993b44561270b3aebf5 to your computer and use it in GitHub Desktop.
Save charlee/248b3dbbb63d3993b44561270b3aebf5 to your computer and use it in GitHub Desktop.
Mobile Icon Cutter
#!/usr/bin/env python
import os
import sys
import errno
from PIL import Image
try:
filename = sys.argv[1]
im = Image.open(filename)
icons = """
resources/ios/icon/icon.png,57
resources/ios/icon/icon@2x.png,114
resources/ios/icon/icon-40.png,40
resources/ios/icon/icon-40@2x.png,80
resources/ios/icon/icon-50.png,50
resources/ios/icon/icon-50@2x.png,100
resources/ios/icon/icon-60.png,60
resources/ios/icon/icon-60@2x.png,120
resources/ios/icon/icon-60@3x.png,180
resources/ios/icon/icon-72.png,72
resources/ios/icon/icon-72@2x.png,144
resources/ios/icon/icon-76.png,76
resources/ios/icon/icon-76@2x.png,152
resources/ios/icon/icon-small.png,29
resources/ios/icon/icon-small@2x.png,58
resources/ios/icon/icon-small@3x.png,87
resources/android/icon/drawable-ldpi-icon.png,36
resources/android/icon/drawable-mdpi-icon.png,48
resources/android/icon/drawable-hdpi-icon.png,72
resources/android/icon/drawable-xhdpi-icon.png,96
resources/android/icon/drawable-xxhdpi-icon.png,144
resources/android/icon/drawable-xxxhdpi-icon.png,192
resources/android/play-store-icon.png,512
"""
for icon_line in icons.split('\n'):
icon_line = icon_line.strip()
if not icon_line:
continue
icon, size = icon_line.split(',')
size = int(size)
path = os.path.dirname(icon)
icon_filename = os.path.basename(icon)
try:
os.makedirs(path)
except OSError as exc:
if exc.errno == errno.EEXIST and os.path.isdir(path):
pass
else:
raise
im2 = im.resize((size, size), Image.BILINEAR)
im2.save(icon)
except IndexError:
print "Usage: %s <image filename>" % sys.argv[0]
except IOError:
print "Error: %s does not exist" % filename
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment