RSS category feeds

RSS site feeds

More

Create text watermarks with PIL PDF Print E-mail

An interesting Python script from Planet Python for creating text watermarks in image files.

 
#!/usr/bin/python
from PIL import Image, ImageDraw, ImageFont
from math import atan, degrees
import sys
import os
FONT = "C:\\WINDOWS\\Fonts\\BKANT.TTF"
def main(filename, text, outfilename):
    img = Image.open(filename).convert("RGB")
    watermark = Image.new("RGBA", (img.size[0], img.size[1]))
    draw = ImageDraw.ImageDraw(watermark, "RGBA")
    size = 0
    while True:
        size += 1
        nextfont = ImageFont.truetype(FONT, size)
        nexttextwidth, nexttextheight = nextfont.getsize(text)
        if nexttextwidth+nexttextheight/3 > watermark.size[0]:
            break
        font = nextfont
        textwidth, textheight = nexttextwidth, nexttextheight
    draw.setfont(font)
    #draw.text(((watermark.size[0]-textwidth)/2,
    #           (watermark.size[1]-textheight)/2), text) #Höhe = Mitte
    draw.text(((watermark.size[0]-textwidth)/2,
               (watermark.size[1]-textheight)), text)
    #Diagonal Zeichnen:
    #watermark = watermark.rotate(degrees(atan(float(img.size[1])/img.size[0])),
                                 #Image.BICUBIC)
    mask = watermark.convert("L").point(lambda x: min(x, 55))
    watermark.putalpha(mask)
    img.paste(watermark, None, watermark)
    img.save(outfilename)
if __name__ == "__main__":
    if len(sys.argv) != 4:
        sys.exit("Usage: %s <input-image> <text> <output-image>"
                 % os.path.basename(sys.argv[0]))
    main(*sys.argv[1:])
Last Updated ( Tuesday, 23 June 2009 )
 
< Prev

Feedback

Advertisement

Comments

  • I have run your code on my own machine, but I just got the last paragraph of the... More...
  • Hello Gabriel, It seem that the linked site moved to github.com/.../weboutlook (... More...
  • There is no script to download, could you provide the right link More...
  • Interesting but doesn't really help me. I do not see what the 'xxxxx' in the Ses... More...
  • You can see more python editor comparison: sparkledge.com/.../ (http://sparkledg... More...

Login Form






Lost Password?

My prefered Python IDE

My prefered Python editor is Pyscripter from MMExperts. It is not only an editor. Pyscripter is a full Python IDE including (remote) debugging, a class browser, and all other nice helpers which a full featured IDE needs.

Do you have a script for me ?

Do you have an interesting Python script which does some really cool thing on Windows ? Please post them to this site. It`s very simple - simply copy&paste it to this form. No login is requiered.

Hint: For syntax highlighting and correct Python intendation place your code between html tags <pre> and </pre>.

My prefered web framework

My prefered web framework for developing web applications is Django. Django calls itself The web framework for perfectionists with deadlines. It is a really fast, scalable and (thanks Python) the sexiest web framework of the world.