欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

django-simple-captcha 验证码干扰线随机点位

程序员文章站 2022-06-30 13:53:08
官方写的方法干扰线是固定的 然后找到captcha/helpers.py 在这个文件添加下面的函数 ......
captcha_noise_functions = ( 'captcha.helpers.noise_null',# 设置样式
                            'captcha.helpers.noise_arcs',# 设置干扰线
                           #'captcha.helpers.noise_arcs_random',  # 设置自定义的干扰线
                           #'captcha.helpers.noise_dots',# 设置干扰点
                        )

官方写的方法干扰线是固定的

django-simple-captcha  验证码干扰线随机点位

captcha_noise_functions = ( 'captcha.helpers.noise_null',# 设置样式
                           # 'captcha.helpers.noise_arcs',# 设置干扰线
                           'captcha.helpers.noise_arcs_random',  # 设置自定义的干扰线
                           #'captcha.helpers.noise_dots',# 设置干扰点
                        )

然后找到captcha/helpers.py  在这个文件添加下面的函数

def noise_arcs_random(draw, image):
    size = image.size
    draw.arc([-20, -20, random.randint(size[0]/1.5, size[0]), random.randint(15, 25)], 0, 295, fill=settings.captcha_foreground_color)
    draw.line([-20, random.randint(5, size[1]), random.randint(size[0]/1.5, size[0]), random.randint(5, size[1])], fill=settings.captcha_foreground_color)
    draw.line([-20, random.randint(5, size[1]), random.randint(size[0]/1.5, size[0]), random.randint(5, size[1])], fill=settings.captcha_foreground_color)
    return draw

django-simple-captcha  验证码干扰线随机点位