Advertisement
ijontichy

avatar.py

Aug 21st, 2012
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.98 KB | None | 0 0
  1. #!/usr/bin/python
  2.  
  3. import cgi, cgitb
  4. import random
  5. from PIL import Image, ImageOps
  6. from StringIO import StringIO
  7.  
  8. SQUARESIZE = 150
  9. SIZERANGE = (70, 130)
  10.  
  11. images = (("../img/classy-small.png", True), ("../img/drugface.png", True),
  12.           ("../img/dewmgui.png", True))
  13.  
  14. cgitb.enable()
  15.  
  16. avatar  = Image.new("RGBA", (SQUARESIZE, SQUARESIZE), (0, 0, 0, 0))
  17.  
  18. imgName, fullRotate = random.choice(images)
  19.  
  20. avatarI = Image.open(imgName)
  21.  
  22. if random.randint(0, 1):
  23.     avatarI = ImageOps.mirror(avatarI)
  24.  
  25. randScale = random.randint(*SIZERANGE) / 100.0
  26.  
  27. avatarI = avatarI.resize((avatarI.size[0] * randScale, avatarI.size[1] * randScale), Image.BICUBIC)
  28.  
  29. avatar.paste(avatarI, ((SQUARESIZE-avatarI.size[0]) // 2, (SQUARESIZE-avatarI.size[1]) // 2))
  30.  
  31. if fullRotate:
  32.     avatar = avatar.rotate(random.randint(1, 360), resample=Image.BICUBIC)
  33. else:
  34.     avatar = avatar.rotate(90 * random.randint(1,4))
  35.  
  36.  
  37. avaMsg  = StringIO()
  38. avatar.save(avaMsg, "PNG")
  39.  
  40. print("Content-type: image/png\n")
  41. print(avaMsg.getvalue())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement