使用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 生成验证码图片的更多相关文章

  1. java web学习总结(九) -------------------通过Servlet生成验证码图片

    一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下:

  2. JavaWeb---总结(九)通过Servlet生成验证码图片

    一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下: 创建一个DrawImage Servlet,用来生成验证码图片  1 package gacl. ...

  3. Java 生成验证码图片

    生成验证码图片并对提交的输入进行验证 // HttpServletResponse常见应用——生成验证码 // 利用BufferedImage类生产随机图片 public static final i ...

  4. javaweb学习总结(九)—— 通过Servlet生成验证码图片

    一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下:

  5. 012. asp.net生成验证码图片(汉字示例/字母+数字)

    protected void Page_Load(object sender, EventArgs e) { //生成验证码图片的基本步骤 string checkCode = "新年快乐& ...

  6. J2EE如何生成验证码图片和点击刷新验证码

    验证码图片生成步骤 创建BufferedImage对象. 获取BufferedImage的画笔,即调用getGraphics()方法获取Graphics对象. 调用Graphics对象的setColo ...

  7. java web 学习九(通过servlet生成验证码图片)

    一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下:

  8. java web,生成验证码图片的技术

    偶然知道原来有些网站的验证码图片都是随机生成的,后来听人讲了一下,就做了这个小例子 生成图片,绘制背景,数字,干扰线用到了java.awt包,主要使用BufferedImage来生成图片,然后使用Gr ...

  9. php生成验证码图片

    0:效果图 1:index.php用来生成验证码图片 <?php session_start(); header ('Content-Type: image/png'); $image=imag ...

随机推荐

  1. jquery技术揭秘静态工具函数源码重构

    1.调用页面 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  2. Android轻量级日志管理框架

    代码地址如下:http://www.demodashi.com/demo/12134.html ViseLog Android 轻量级日志框架,使用森林对象维护不同的日志树进行日志输出,可以是Logc ...

  3. 操作LOG文件-删除log目录下,所有的空文件-删除5天前的文件

    # 1.logs目录下,有一部分文件是空的# 1.删除log目录下,所有的空文件# 2.删除5天前的文件 # 需求分析:# 1.os.walk()获取到所在以.log结尾的文件# 2.判断文件的大小, ...

  4. apt-update 更新失败 (无法连接到ubuntu服务器)

    解决方法: 找一个可以更新的系统,拷贝里面的sources.list文件,并将原系统的sources.list进行备份.

  5. 零基础学python-1.5 第一个程序

    这一个章节我们来说说怎么建立一个python程序 1.打开idle 2.点击File->new file,然后会弹出一个编辑窗体 3.在编辑窗体里面输入命令代码 程序代码: print(&quo ...

  6. STM32F4先设置寄存器还是先使能时钟

    http://zhidao.baidu.com/link?url=gdVNuIgLOJcV37QzbCx0IrFip5pskiPQDWpoZayr_xBEe120p4d_iWtrfDl1d4tSFaH ...

  7. c# 获取毫秒值,时间戳

    获取时间戳(秒) (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000 获取时间戳(毫秒) (DateTime. ...

  8. 方法return外部链接

    return new ModelAndView(new RedirectView(url));

  9. 解决PHP显示Warning和Notice等问题

    PHP在安装后,会在php.ini 文件中设置报错.提醒.警告等方式的出现,这样的方式可以使我们在调试PHP程序的时候能及时了解程序所存在的问题.然后,有时候我们并不需要提醒.警告 等内容,比如当我们 ...

  10. vi编辑器命令大全

    >> from zhuhaiqing.info