#!/usr/bin/env python from PIL import Image, ImageDraw, ImageFont import sys, os def batchsign(path, text): for each in os.listdir(path): if each.endswith('.jpg'): try: name = os.path.join(path, each) save = os.path.splitext(name) sign(name, text, save[0] + '_signed.jpg') print name + ' signed' except IOError: None def sign(filename, text, outfilename): img = Image.open(filename).convert("RGB") watermark = Image.new("RGBA", (img.size[0], img.size[1])) draw = ImageDraw.ImageDraw(watermark, "RGBA") font = ImageFont.truetype("Verdanai.ttf", 24) textwidth, textheight = font.getsize(text) x1 = img.size[0] - (textwidth + 10) y1 = img.size[1] - (textheight + 10) draw.setfont(font) draw.text((x1, y1), text) mask = watermark.convert("L").point(lambda x: min(x, 80)) watermark.putalpha(mask) img.paste(watermark, None, watermark) img.save(outfilename) if __name__ == '__main__': if len(sys.argv) != 2: sys.exit("Usage: %s " % os.path.basename(sys.argv[0])) batchsign('', *sys.argv[1:])