如何使用python生成一个随机的验证码

pillow例子 随机生成验证码

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

随机字母

def randow_char():
   return chr(random.randint(65, 90))

随机数字

def random_num():
    return random.randint(0, 9)

随机字体颜色 稍微深一点

def randow_color():
    return (random.randint(150,225), random.randint(150,225), random.randint(150,225))

随机背景颜色 稍微浅一点

def randow_color2():
    return (random.randint(30, 120), random.randint(30, 120), random.randint(30, 120))

生成空白图层

image = Image.new('RGB', size=(240,60), color=(255, 255, 255))

生成绘制对象

draw = ImageDraw.Draw(image)

字体对象,字体,字号

font = ImageFont.truetype('arial.ttf', 36)

循环像素点并填充颜色

for x in range(0, 240):
    for y in range(0, 60):
        draw.point(xy=(x, y), fill=randow_color2())

生成文字

for t in range(0, 4):
    draw.text((60*t+20, 10), randow_char(), font=font, fill=randow_color())

加模糊滤镜

image = image.filter(ImageFilter.BLUR)

保存

image.save('demo4.jpg', 'jpeg')

效果如下:

在这里插入图片描述

还可以加上其他效果,这里不再展示。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值