Skip to content

Instantly share code, notes, and snippets.

@kennydude
Created July 19, 2011 17:39
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 kennydude/1093215 to your computer and use it in GitHub Desktop.
Save kennydude/1093215 to your computer and use it in GitHub Desktop.
Photoshop Exporter for Android Assets!

Photoshop Exporter

Requirements:

  • Python for Windows
  • Python windows32 extensions (both free and easy to do)

Notes:

  • You cannot export icons in this (yet)
  • Don't blame me for errors
  • SAVE YOUR WORK BEFOREHAND I AM NOT RESPONSIBLE FOR DESTROYING THE UNIVERSE!
import win32com.client
psApp = win32com.client.Dispatch("Photoshop.Application")
print "Please make sure you have the current document open and saved in the base of your project as we're going to save it by dpi NOW."
print "You also need the document in 320dpi for this to work properly!"
try:
var = input("Press enter")
except:
pass
import os
doc = psApp.Application.ActiveDocument
width = doc.Width
height = doc.Height
base = os.path.dirname(doc.FullName)
name = ".".join( doc.Name.split(".")[0:-1] )
print "Document has ", width, "x", height
print name, base
print "Now to export the document into correct locations"
print "1. XHDPI"
path = os.path.join(base, "res", "drawable-xhdpi");
try:
os.makedirs(path)
except:
pass
options = win32com.client.Dispatch("Photoshop.PNGSaveOptions")
doc.SaveAs(os.path.join(path, name + ".png"), options, True)
print "2. HDPI"
path = os.path.join(base, "res", "drawable-hdpi")
try:
os.makedirs(path)
except:
pass
doc.ResizeImage(width, height, 240)
doc.SaveAs(os.path.join(path, name + ".png"), options, True)
print "3. MDPI"
path = os.path.join(base, "res", "drawable-mdpi")
try:
os.makedirs(path)
except:
pass
doc.ResizeImage(width, height, 160)
doc.SaveAs(os.path.join(path, name + ".png"), options, True)
print "4. LDPI"
path = os.path.join(base, "res", "drawable-ldpi")
try:
os.makedirs(path)
except:
pass
doc.ResizeImage(width, height, 120)
doc.SaveAs(os.path.join(path, name + ".png"), options, True)
var = input("Press enter to continue")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment