Python generates noisy verification code

# -*- coding:utf-8 -*-
from PIL import Image, ImageDraw, ImageFont
import random
#创建一个图片
bgcolor = (random.randrange(20, 100),random.randrange(50, 200), random.randrange(20, 255))
img = Image.new(mode='RGB', size=(100, 50), color=bgcolor)
#创建一个画笔
draw = ImageDraw.Draw(img, mode='RGB')
#设置字体,下载一个字体包
font = ImageFont.truetype("ALGER.TTF", 28)
#绘制噪点
for i in range(0, 100):
    xy = (random.randrange(0, 100), random.randrange(0, 50))
    fill_color = (random.randrange(0, 255), 255, random.randrange(50, 200))
    draw.point(xy, fill=fill_color)
st = '123456789qwertyuiopasdfghjkzxcvbnm'
rand_str = ''
for x in range(0, 4):
    rand_str += str[(random.randrange(0, len(st)))]
#设置字体颜色
font_color = (random.randrange(100, 255), random.randrange(0, 100), random.randrange(0, 255))
#文字写入图片,参数,第一个是文字写入的位置(宽高),第二个参数字体样式,字体颜色
draw.text((10, 5), rand_str[0], font=font, fill=font_color)
draw.text((35, 10), rand_str[1], font=font, fill=font_color)
draw.text((60, 5), rand_str[2], font=font, fill=font_color)
draw.text((75, 15), rand_str[3], font=font, fill=font_color)
img.show()

生成的验证码图片如图:

Guess you like

Origin blog.csdn.net/xxy_yang/article/details/90511803