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

2019-01-08 08:24:10来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

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

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

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

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:day 22 - 1 面向对象

下一篇:Python 猜数字游戏