Python的PIL库实现验证码图片

来源:互联网 发布:人物漫画制作软件 编辑:程序博客网 时间:2024/06/05 19:17

本文是基于廖大官方网站Python3.5PIL节所写。来源廖雪峰的官方网站 。在此基础上增加了数字、汉字、字母。

代码如下:

#!/uer/bin/env python#-*- coding:utf-8 -*-#声明from PIL import Image,ImageFilter,ImageDraw,ImageFontimport random#产生随机汉字、字母和数字def rndChar():     #产生0-9随机数字     numChr = str(random.randint(0,9))     #产生大写字母A-Z,对比ASK码     letChr = chr(random.randint(65,90))     #产生随机的一个汉字     chChr =random.choice("中华文化博大精深")     #随机返回三种类型之一     return random.choice((numChr,letChr,chChr)) #得到随机的颜色,0-255 RGB颜色表def rndColor():    return (random.randint(0,255),random.randint(0,255),random.randint(0,255))#定义输出图片大小width = 240height = 60#定义初始白色图片image = Image.new('RGB',(width,height),(255,255,255))#创建Font对象,字体font = ImageFont.truetype('C:\Windows\Fonts\simsun.ttc',40)#创建Draw对象,即创建一个可以对Image操作的对象draw = ImageDraw.Draw(image)#在图片中填充随机像素for x in range(width):    for y in range(height):        draw.point((x,y),fill=rndColor())#在图像中输出文字for t in range(4):    draw.multiline_text((60*t+10,10),rndChar(),font=font,fill=rndColor2())#滤镜模糊image = image.filter(ImageFilter.MinFilter)image.save('code.jpeg','jpeg')
原创粉丝点击