BBS之生成随机验证码

生成随机验证码

views.py

首先需要下载一个pillow模块   pip3 install pillow

from PIL import Image,ImageDraw,ImageFont
#导入pillow模块
‘‘‘
Image:生成图片
ImageDraw:在图片上写东西  相当于画笔
ImageFont: 控制字体样式的
‘‘‘

from  io import BytesIO,StringIO
‘‘‘
io是一个内存管理器模块
BytesIO 能够帮你存储数据以二进制的格式
StringIO  能够帮你存储数据以字符串的格式
‘‘‘

import random
def get_random():    #为了获得颜色随机数用的  例如(255,255,255)
    return random.randint(0,255),random.randint(0,255),random.randint(0,255)

接下来到了生成图片随机验证码

def get_code(request):

    img_obj = Image.new(‘RGB‘,(360,35),get_random())
    #能够产生任意多张不同颜色图片, 1.图片颜色格式2.图片大小(width,height)3.颜色编号 这里随机生成的例如(20,30,42)

    img_draw = ImageDraw.Draw(image) #生成一个可以在图片上写字的画笔
    img_font = ImageFont.truetype(‘static/font/111.ttf‘,30) #决定字体用的  1.字体样式  2.字体大小

    #下面生成五位随机验证码 并写在img_obj图片上

    code = ‘‘
    for i  in range(5):
        upper_str = chr(random.randint(65,90))
        lower_str = chr(random.randint(97,122))
        random_int = str(random.randint(0,9))
        temp_code = random.choice([upper_str,lower_str,random_int])
       #下面往图片上写                   img_draw.text((65+i*45,0),temp_code,get_random(),font=img_font)
        code += temp_code
    print(code)
    #下面将产生的随机验证码存入session中
    request.session[‘code‘] = code
    img_obj.save(io_obj,‘png‘)
    return HttpResponse(io_obj.getvalue())

原文地址:https://www.cnblogs.com/s686zhou/p/11615385.html

时间: 2024-11-06 03:30:16

BBS之生成随机验证码的相关文章

学习python:实例2.用PIL生成随机验证码

效果: 代码: # 生成随机验证码图片 import string from random import randint, sample from PIL import Image, ImageDraw, ImageFont, ImageFilter # Image 负责处理图片 # ImageDraw 画笔 # ImageFont 文字 # ImageFileter 滤镜 # 定义变量 img_size = (150,50)        # 定义画布大小 img_rgb = (255,255

Python 生成随机验证码

Python生成随机验证码 Python生成随机验证码,需要使用PIL模块. 安装: 1 pip3 install pillow 基本使用 1. 创建图片 1 2 3 4 5 6 7 8 9 from PIL import Image img = Image.new(mode='RGB', size=(120, 30), color=(255, 255, 255)) # 在图片查看器中打开 # img.show()  # 保存在本地 with open('code.png','wb') as f

生成随机验证码工具类

生成随机验证码 package com.web; //验证码生成处理类 import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.geom.AffineTransform; import java.awt.geom.Line2D; import java.awt.ima

android 客户端生成随机验证码的实现

由于项目中要用到验证码,自己找了些资料,试着就把这个验证码给做了出来,代码不是很多,比较的简单,下面给大家看看我是怎么实现该功能的: 源码地址下载:http://download.csdn.net/detail/u014608640/7268905 首先当然是写XML咯,贴上代码 <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" andr

如何生成随机验证码

Python生成随机验证码 Python生成随机验证码,需要使用PIL模块. 安装: pip3 install pillow 基本使用 1. 创建图片 from PIL import Image img = Image.new(mode='RGB', size=(120, 30), color=(255, 255, 255)) # 在图片查看器中打开 # img.show() # 保存在本地 with open('code.png','wb') as f: img.save(f,format='

生成随机验证码

生成随机验证码实例 import random a=[] c ='' for i in range(6): if i == random.randrange(1,4): a.append(str(random.randint(1,9))) else: temp = random.randint(65,90) a.append(chr(temp)) print a b="".join(a) print b for i in a: c += str(i) print c 输出为 ['D',

pillow实例 | 生成随机验证码

1 PIL(Python Image Library) PIL是Python进行基本图片处理的package,囊括了诸如图片的剪裁.缩放.写入文字等功能.现在,我便以生成随机验证码为例,讲述PIL的基本用法. PIL库似乎已经被人抛弃,就为更新,上次使用时竟然不能用show()直接将图片,在系统默认的图片管理器中打开.好在pillow,一个PIL的方言,将PIL继续维护了下去. 生成验证码一般需要对写入的文字进行旋转.扭曲.变色等一系列操作,才能避免计算机算法的识别. 因此定义一个生成验证码的类

python生成随机验证码

Python 生成随机验证码,需安装 PIL模块 安装: pip3 install pillow 基本使用 1,.创建图片 from PIL import Image img = Image.new(mode='RGB', size=(120, 30), color=(255, 255, 255)) # 在图片查看器中打开 # img.show() # 保存在本地 with open('code.png','wb') as f: img.save(f,format='png') 2.创建画笔,用

struts2生成随机验证码图片

之前想做一个随机验证码的功能,自己也搜索了一下别人写的代码,然后自己重新用struts2实现了一下,现在将我自己实现代码贴出来!大家有什么意见都可以指出来! 首先是生成随机验证码图片的action: CreateImageAction: package com.xiaoluo.action; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedIm