生成随机的验证码图片(Python)


一、导入包

import random
from PIL import Image, ImageDraw, ImageFont

二、生成随机的验证码

def random_code(length=4):
    '''默认返回4位随机验证码,字符串'''
    code = ""
    characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
    for i in range(length):
        rand_char = random.choice(characters)
        code += rand_char
    return code

三、生成随机的rgb颜色

def random_color():
    """默认返回随机颜色,元组"""
    return random.randrange(256), random.randrange(256), random.randrange(256)

四、生成图片验证码

def image_code(width=120, height=30, point=100, line=4):
    '''生成图片验证码'''
    code = random_code()
    color = random_color()

    image = Image.new(mode='RGB', size=(width, height), color=(0, 0, 0))  # 背景图片
    draw = ImageDraw.Draw(image)
    font = ImageFont.truetype("arial.ttf", 28)  # 字体

    for i, ch in enumerate(code):
        draw.text([i * width / 4, 0], ch, fill=color, font=font)
    for _ in range(point):
        draw.point([random.randint(0, width), random.randint(0, height)], fill=random_color())  # 画点
    for _ in range(line):
        draw.line(
            (random.randint(0, width),
             random.randint(0, height),
             random.randint(0, width),
             random.randint(0, height)
             ),
            fill=random_color())  # 画线

    image.show()
    # image.save(r'')

总结:

完整资源下载(上链接):https://download.csdn.net/download/SzyPy/89524730?spm=1001.2014.3001.5503

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

桑落东篱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值