1:#!/usr/bin/env python
2:from PIL import Image, ImageDraw, ImageFont
3:import sys, os
4:
5:def batchsign(path, text):
6: for each in os.listdir(path):
7: if each.endswith('.jpg'):
8: try:
9: name = os.path.join(path, each)
10: save = os.path.splitext(name)
11: sign(name, text, save[0] + '_signed.jpg')
12: print name + ' signed'
13: except IOError: None
14:
15:def sign(filename, text, outfilename):
16: img = Image.open(filename).convert("RGB")
17: watermark = Image.new("RGBA", (img.size[0], img.size[1]))
18: draw = ImageDraw.ImageDraw(watermark, "RGBA")
19: font = ImageFont.truetype("Verdanai.ttf", 24)
20: textwidth, textheight = font.getsize(text)
21: x1 = img.size[0] - (textwidth + 10)
22: y1 = img.size[1] - (textheight + 10)
23: draw.setfont(font)
24: draw.text((x1, y1), text)
25: mask = watermark.convert("L").point(lambda x: min(x, 80))
26: watermark.putalpha(mask)
27: img.paste(watermark, None, watermark)
28: img.save(outfilename)
29:
30:if __name__ == '__main__':
31: if len(sys.argv) != 2:
32: sys.exit("Usage: %s <text>" % os.path.basename(sys.argv[0]))
33: batchsign('', *sys.argv[1:])
txt version