python 生成带有噪点的验证码

# -*- 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()

生成的验证码图片如图:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值