Python的PIL库实现验证码图片

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

代码如下:

#!/uer/bin/env python
#-*- coding:utf-8 -*-
#声明
from PIL import Image,ImageFilter,ImageDraw,ImageFont
import 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 = 240
height = 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')

你可能感兴趣的:(python入门)