python2 生成验证码图片
使用pillow或者pil库编写
#coding:utf-8
#use pillow or pil
try:
from PIL import Image, ImageDraw, ImageFont, ImageEnhance,ImageFilter
except ImportError:
import Image, ImageDraw, ImageFont, ImageEnhance,ImageFilter
import string,random
fontPath = "C:/windows/fonts/"
#获取随即四个字母
def getRandomChar():
return [random.choice(string.letters) for _ in range(4)]
#获取颜色
def getRandomColor():
return (random.randint(30,100),random.randint(30,100),random.randint(30,100))
#获取验证码图片
def getCodePiture():
width = 240
height = 60
#创建画布
image = Image.new('RGB',(width,height),(180,180,180))
font = ImageFont.truetype(fontPath+'simhei.ttf',40)
draw = ImageDraw.Draw(image)
#创建验证码对象
code = getRandomChar()
#把验证码放在画布上
for t in range(4):
draw.text((60*t+10,0),code[t],font=font,fill=getRandomColor())
#填充噪点
for _ in range(random.randint(1500,3000)):
draw.point((random.randint(0,width),random.randint(0,height)),fill=getRandomColor())
#模糊处理
image = image.filter(ImageFilter.BLUR)
#保存名字为验证码图片
image.save("".join(code)+'.jpg','jpeg')
if __name__ == "__main__":
print getCodePiture()
python2 生成验证码图片的更多相关文章
- java web学习总结(九) -------------------通过Servlet生成验证码图片
一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下:
- JavaWeb---总结(九)通过Servlet生成验证码图片
一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下: 创建一个DrawImage Servlet,用来生成验证码图片 1 package gacl. ...
- Java 生成验证码图片
生成验证码图片并对提交的输入进行验证 // HttpServletResponse常见应用——生成验证码 // 利用BufferedImage类生产随机图片 public static final i ...
- javaweb学习总结(九)—— 通过Servlet生成验证码图片
一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下:
- 012. asp.net生成验证码图片(汉字示例/字母+数字)
protected void Page_Load(object sender, EventArgs e) { //生成验证码图片的基本步骤 string checkCode = "新年快乐& ...
- J2EE如何生成验证码图片和点击刷新验证码
验证码图片生成步骤 创建BufferedImage对象. 获取BufferedImage的画笔,即调用getGraphics()方法获取Graphics对象. 调用Graphics对象的setColo ...
- java web 学习九(通过servlet生成验证码图片)
一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下:
- java web,生成验证码图片的技术
偶然知道原来有些网站的验证码图片都是随机生成的,后来听人讲了一下,就做了这个小例子 生成图片,绘制背景,数字,干扰线用到了java.awt包,主要使用BufferedImage来生成图片,然后使用Gr ...
- php生成验证码图片
0:效果图 1:index.php用来生成验证码图片 <?php session_start(); header ('Content-Type: image/png'); $image=imag ...
随机推荐
- Unity里面的自动寻路(二)
接着我的 上一篇自动寻路文章,这一次我们就来学习一下与自动寻路有关的组件吧.Unity中与自动寻路相关的组件主要有两个:NavMeshAgent ( 又称导航网格代理 ),Off Mesh Link ...
- ROS当中添加第三方库
下文以serial 库为依据讲解第三方库在ROS下面的配置. 参考文献:http://blog.csdn.net/u011853479/article/details/51263590 ros中使 ...
- unsigned int与int相加问题
作者 : 卿笃军 一道unsigned int与int类型的相加题目.引发了我对这个问题的思考. 首先要明确两个问题: 问题一. unsigned int 和 int究竟哪个能表达出来的数上限大呢? ...
- Convolutional Patch Networks with Spatial Prior for Road Detection and Urban Scene Understanding
Convolutional Patch Networks with Spatial Prior for Road Detection and Urban Scene Understanding 深度学 ...
- JS 导出Table为excel的三种可行方法
[html] view plain copy<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q ...
- Install RabbitMQ server in CentOS 7
About RabbitMQ RabbitMQ is an open source message broker software, also sometimes known as message-o ...
- 修改pip源为国内网站
import os,sys,platformini="""[global]index-url = https://pypi.doubanio.com/simple/[in ...
- Delphi 与 C/C++ 数据类型对照表(最新的tokyo)
更新,下面这table为最新的tokyo基本数据类型与C++的对照关系: Delphi to C++ types mapping Go Up to Support for Delphi Data ...
- Intent获取Activity返回值
/* Intent获取Activity返回值* 三步:* 子Activity关闭后的返回值处理函数,requestCode是子Activity返回的请求码,与页面顶端的两个请求码相匹配,resultC ...
- 解决H5在微信浏览器或QQ浏览器修改title的问题
传送门:http://blog.csdn.net/code_for_free/article/details/51195468 如果是Android,使用 document.title = ‘1231 ...