python利用PIL产生验证码图片


利用PIL来将处理图片,并将字符串跟图片合到一起来产生验证码图片,简单的代码如下:


def make_image(image='test.jpg'):
    import Image, ImageDraw, ImageFont, md5, datetime
    im = Image.open(image)
    font = ImageFont.truetype("arial.ttf", 30)
    draw = ImageDraw.Draw(im)
    mp = md5.new()
    mp_src = mp.update(str(datetime.datetime.now()))
    mp_src = mp.hexdigest()
    rand_str = mp_src[0:6]
    draw.text((10,5), rand_str, font=font)
    del draw
    im.save("yzm.jpg")
        
if __name__ == '__main__':
    make_image()
ImageFont.truetype()的第一个参数arial.ttf 可以改成其他的truetype字体,第二个参数30为字体的大小,这个程序只是简单的生成验证码图片,比较复杂的可以看看PIL。在freebsd6.2下载装pil库
# cd /usr/ports/graphics/py-imaging
# make install clean