Python-web开发验证码的制作
来源:互联网 发布:数车的caxa编程 编辑:程序博客网 时间:2024/06/14 12:33
一、安装依赖包Pillow
pip install Pillow
二、验证码一般是放在一个项目的工具方法中
三、验证码的代码
#!/usr/bin/env python# encoding: utf-8from random import randint,choicefrom PIL import Image,ImageDraw,ImageFontfrom cStringIO import StringIOfrom string import printabledef pillow_test(): #设置选用的字体 font_path = "utils/captcha/font/Arial.ttf" font_color = (randint(150, 200), randint(0, 150), randint(0, 150)) line_color = (randint(0, 150), randint(0, 150), randint(150, 200)) point_color = (randint(0, 150), randint(50, 150), randint(150, 200)) #设置验证码的宽与高 width, height = 100, 34 image = Image.new("RGB",(width, height),(200,200,200)) font = ImageFont.truetype(font_path,height - 10) draw = ImageDraw.Draw(image) #生成验证码 text = "".join([choice(printable[:62]) for i in xrange(4)]) font_width, font_height = font.getsize(text) #把验证码写在画布上 draw.text((10, 10), text, font=font, fill=font_color) #绘制干扰线 for i in xrange(0, 5): draw.line(((randint(0, width), randint(0, height)), (randint(0, width), randint(0, height))), fill=line_color, width=2) # 绘制点 for i in xrange(randint(100, 1000)): draw.point((randint(0, width), randint(0, height)), fill=point_color) #输出 out = StringIO() image.save(out, format='jpeg') content = out.getvalue() out.close() return text, content
四、创建一个视图返回验证码(基于tornado)
#获取图像验证码class TestHandler(BaseHandler): def get(self): text, img = pillow_test() #设置头信息 self.set_header("Content-Type", "image/jpg") self.write(img)
五、直接在前端页面中的img
中使用这个视图
阅读全文
0 0
- Python-web开发验证码的制作
- Python制作字母验证码
- 【网站开发】验证码制作--制作篇
- WEB程序验证码的开发
- 验证码的制作
- 验证码的制作
- 验证码的制作
- 验证码的制作
- 验证码的制作
- 验证码的制作
- 验证码的制作
- 验证码的制作
- 验证码的制作
- web开发验证码的实现和验证
- web开发表单的制作
- web如何制作验证码功能
- Python识别web验证码
- python的web开发
- mysql分区功能详细介绍,以及实例
- 将vim打造成IDE总结(一)
- #UVA1347#Tour(DP :双调欧几里得旅行商问题)
- Java数据类型
- leetcode 144. Binary Tree Preorder Traversal
- Python-web开发验证码的制作
- WebView直接访问手机版,
- canvas的save,restore方法
- jquery 的datatable的属性说明
- Android常用控件 一(文本控件,android资源,selector选择器)
- 【sqoop】 Sqoop详细介绍包括:sqoop命令,原理,流程
- 【Node.js】静态路由
- Sublime Text 3 Tab键失效问题
- Python + Tkinter画树