yuliji
8/19/2017 - 6:52 AM

water mark, click

water mark, click

#!/usr/bin/env python
from __future__ import print_function

import click
from PIL import Image, ImageDraw, ImageFont


@click.command()
@click.argument('filename')
@click.argument('text')
@click.option('--font-size', '-s', type=int, default=60)
def add_water_mark(filename, text, font_size):
    main = Image.open(filename).convert("RGBA")

    watermark = Image.new("RGBA", main.size)

    waterdraw = ImageDraw.ImageDraw(watermark, "RGBA")

    font_path = "/Users/yuliji/code/pdf/Python/lib/python2.7/site-packages/reportlab/fonts/Yahei.ttf"
    font = ImageFont.truetype(font_path, font_size)

    im = Image.open(filename)
    width, height = im.size
    waterdraw.text((10, height / 3), text, fill=(255,255,255,128), font=font)

    out = Image.alpha_composite(main, watermark)
    out.save("wm_"+filename, "PNG")


if __name__ == '__main__':
    add_water_mark()