生成图片验证码

    import random
    from io import BytesIO
    from PIL import Image
    from PIL import ImageDraw
    from PIL import ImageFont

    img=Image.new(mode='RGB',size=(120,40),color=(random.randint(0,255),random.randint(0,255),random.randint(0,255))) #生成图片对象,参数一:图片模式,参数二:图片大小(单位px),参数三:图片颜色
    draw=ImageDraw.Draw(img,'RGB')  #生成画笔对象,参数一:图片对象,参数二:画笔模式
    font=ImageFont.truetype('blog/static/font/Tensentype.ttf',25) #生成字体对象,参数一:字体文件路径,参数二:字体大小
    for i in range(5):
        num=str(random.randint(0,9))
        lower_l=chr(random.randint(65,90))
        upper_l=chr(random.randint(97,122))
        random_choice=random.choice([num,lower_l,upper_l])
        draw.text([5+i*24,5],random_choice,(random.randint(0,255),random.randint(0,255),random.randint(0,255)),font=font) #在图片上添加随机字符,参数一:二维坐标,参数二:添加在图片上的字符,参数三:字符的颜色,参数四:字符的字体设置
    f=BytesIO()  #生成一个内存中的文件句柄
    img.save(f, 'png')  #将图片保存在文件中,参数一:文件句柄,参数二:图片格式
    data=f.getvalue()  #从内存的文件句柄中取值

:需要安装模块pillow,刷新验证码只需要通过jQuery找到验证码的img标签,给它绑定点击事件,每次点击就在它的src属性后面拼接一个?

posted @ 2017-11-20 16:24  魅力宁波  阅读(216)  评论(0)    收藏  举报