利用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