生成图片验证码
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属性后面拼接一个?

浙公网安备 33010602011771号