您的位置:首页 > 移动开发 > 微信开发

每天一个小程序—0010题(验证码生成)

2018-01-15 16:03 351 查看
第 0010 题: 使用 Python 生成类似于下图中的字母验证码图片





from PIL import Image, ImageDraw, ImageFont, ImageFilter
from random import randint

def rnd_char():   #生成随机数字或字母
tmp = randint(1,3)  #前者是下限,后者是上限
if tmp == 1:
return randint(48,57)
elif tmp == 2:
return randint(65,90)
else:
return randint(97,122)

w = 250
h = 50
im = Image.new('RGB', (w,h), (255,255,255))
font = ImageFont.truetype('C:/windows/fonts/Arial.ttf', 30)
draw = ImageDraw.Draw(im)

for i in range(w):  #一个一个像素点填充
for j in range(h):
draw.point((i, j), fill = (randint(130,255),randint(130,255),randint(130,255)))

for i in range(4):  #添加验证码
draw.text((50*(i+1),5), chr(rnd_char()), font = font, fill = (randint(0,255),randint(0,255),randint(0,255)))
im = im.filter(ImageFilter.BLUR)  # 模糊处理

im.show()




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: