Python三行代码实现加减乘验证码,字符串验证码,自定义验证码等等

小demo,用于flask验证码

# pip install gvcode

from gvcode import VFCode


def getVerifyCode():
    vc = VFCode(
        width=120,  # 图片宽度
        height=50,  # 图片高度
        fontsize=30,  # 字体尺寸
    )
    vc.generate_op("-")  # 减法验证码
    code = vc.result
    img_png = vc.get_img_bytes()
    return code, img_png

falsk使用了蓝图

flask视图函数将返回给前端随机验证码

user = Blueprint("user", __name__)


# 图片验证码
@user.route("/verifyCode")
def vcode():
    code, img_png = getVerifyCode()
    response = make_response(img_png)
    response.headers["Content-Type"] = "image/png"
    session["vcode"] = code
    return response

 

更多用法

if __name__ == '__main__':
    vc = VFCode(
        width=200,                       # 图片宽度
        height=80,                       # 图片高度
        fontsize=50,                     # 字体尺寸
        font_color_values=[
            '#ffffff',
            '#000000',
            '#3e3e3e',
            '#ff1107',
            '#1bff46',
            '#ffbf13',
            '#235aff'
        ],                                # 字体颜色值
        font_background_value='#ffffff',  # 背景颜色值
        draw_dots=False,                  # 是否画干扰点
        dots_width=1,                     # 干扰点宽度
        draw_lines=True,                  # 是否画干扰线
        lines_width=3,                    # 干扰线宽度
        mask=False,                       # 是否使用磨砂效果
        font='arial.ttf'                  # 字体 内置可选字体 arial.ttf calibri.ttf simsun.ttc
    )
    # 验证码类型
    # 自定义验证码
    # vc.generate('abcd')

    # 数字验证码(默认5位)
    # vc.generate_digit()
    # vc.generate_digit(4)

    # 字母验证码(默认5位)
    # vc.generate_alpha()
    # vc.generate_alpha(5)

    # 数字字母混合验证码(默认5位)
    # vc.generate_mix()
    # vc.generate_mix(6)

    # 数字加减验证码(默认加法)
    vc.generate_op()
    # 数字加减验证码(加法)
    # vc.generate_op('+')
    # 数字加减验证码(减法)
    # vc.generate_op('-')

    # 图片字节码
    # print(vc.get_img_bytes())
    # 图片base64编码
    print(vc.get_img_base64())
    # 保存图片
    vc.save()

 

posted @ 2022-06-23 16:44  zwnsyw  阅读(639)  评论(0编辑  收藏  举报