Python生成随机验证码图片

系统 1485 0

思路:

1、画一张白色的图片(大小为:200*50)

2、逐个填充像素点,每个像素点随机

3、往图片上写入字符

  • 字符随机生成
  • 字符的颜色是随机的
  • 字符的组成:大写字母、小写字母以及数字
            
              from PIL import Image, ImageDraw, ImageFont
import numpy as np


def bgcolor():
    return np.random.randint(64, 255), np.random.randint(64, 255), np.random.randint(64, 255)


def randomtxt():
    txt_list = []
    txt_list.extend([i for i in range(65,91)])
    txt_list.extend([i for i in range(97,123)])
    txt_list.extend([i for i in range(48,58)])
    return chr(txt_list[np.random.randint(0, len(txt_list)-1)])


def txtcolor():
    return np.random.randint(32, 127), np.random.randint(32, 127), np.random.randint(32, 127)


def generatecode():
    width = 200
    height = 50
    image = Image.new('RGB', (width, height), (255, 255, 255))
    draw = ImageDraw.Draw(image)
    for w in range(width):
        for h in range(height):
            draw.point((w, h),fill=bgcolor())
    myfont = ImageFont.truetype('arial.ttf', 36)
    for i in range(4):
        draw.text((50*i+10,10), randomtxt(), font=myfont, fill=txtcolor())


    image.show()
    image.save(r'./res/验证码.png','PNG')


generatecode()

            
          

 


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论