A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

python代码生成验证码

import random

from PIL import Image
from PIL import ImageDraw
from PIL import ImageFilter
from PIL import ImageFont


def randomChar():
    '''
    随机生成chr
    :return:返回一个随机生成的chr
    '''
    return chr(random.randint(65, 120))


def randomBgColor():
    '''
    随机生成验证码的背景色
    :return:
    '''
    return (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))


def randomTextColor():
    '''
    随机生成验证码的文字颜色
    :return:
    '''
    return (random.randint(32, 128), random.randint(32, 128), random.randint(32, 128))


w = 60 * 4;
h = 60
# 创建一张图片,指定图片mode,长宽
image = Image.new('RGB', (w, h), (255, 255, 255))
# 设置字体类型及大小
font = ImageFont.truetype(font='arial.ttf', size=36)
# 创建Draw对象
draw = ImageDraw.Draw(image)
# 遍历给图片的每个像素点着色
for x in range(w):
    for y in range(h):
        draw.point((x, y), fill=randomBgColor())

# 将随机生成的chr,draw如image
for t in range(4):
    draw.text((60 * t + 10, 10), randomChar(), font=font, fill=randomTextColor())

# 设置图片模糊
# image = image.filter(ImageFilter.BLUR)
# 保存图片
image.save('code.jpg', 'jpeg')



---------------------
【转载】
作者:张行之
来源:CSDN
原文:https://blog.csdn.net/qq_33689414/article/details/52876236
版权声明:本文为博主原创文章,转载请附上博文链接!

1 个回复

倒序浏览
奈斯,感谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马