→
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #!/usr/bin/python
import Image
import ImageChops
import ImageFilter
def main(argv):
fromfile = argv[1]
tofile = argv[2]
img = Image.open(fromfile)
img = img.convert(mode='RGBA')
x,y = img.size
orig = Image.new('RGBA', (x+30, y+30))
orig.paste(img, (0,0) + img.size)
shadow = Image.new('RGBA', (x+30, y+30))
shadow.paste(img, (15,15, x+15, y+15))
shadowalpha = shadow.split()[3]
shadowalpha = shadowalpha.filter(ImageFilter.BLUR).filter(ImageFilter.BLUR).filter(ImageFilter.BLUR)
shadowzero = Image.new('L', shadow.size, 0)
shadow = Image.merge('RGBA', (shadowzero, shadowzero, shadowzero, shadowalpha))
out = ImageChops.composite(orig, shadow, orig)
out.save(file(tofile, 'w'))
if __name__ == '__main__':
import sys
main(sys.argv) |
