您的位置:首页 > 编程语言 > Python开发

Python的PIL库实现验证码图片

2017-08-15 21:21 666 查看

本文是基于廖大官方网站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 图片 PIL