Skip to content

Instantly share code, notes, and snippets.

Created February 10, 2011 00:12
Show Gist options
  • Save anonymous/819641 to your computer and use it in GitHub Desktop.
Save anonymous/819641 to your computer and use it in GitHub Desktop.
Python text2image
import sys
import optparse
def text2image(text,color):
import Image
import ImageDraw
lines = text.split('\n')
im = Image.new("RGBA",(1,1),color=None)
draw = ImageDraw.Draw(im)
#
widths, heights = zip(*[draw.textsize(l) for l in lines])
#resize
im = im.resize((max(widths),sum(heights)))
draw = ImageDraw.Draw(im)
textdraw = draw.text
y = 0
for line,height in zip(lines,heights):
textdraw((0,y),line,fill=color)
y += height
return im
def main():
optparser = optparse.OptionParser()
optparser.usage = 'Usage: %PROG INFILE OUTFILE [options]'
addopt = optparser.add_option
addopt('--color',default='black',
help='anything that PIL.ImageColor accepts')
opts, args = optparser.parse_args()
nargs = len(args)
if nargs != 2:
print 'INFILE and OUTFILE arguments required'
return
infile, outfile = args
with open(infile,'r') as f:
text = f.read()
image = text2image(text,opts.color)
if image:
image.save(outfile)
if __name__=='__main__':
sys.exit(main())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment