博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
生成随机图片验证码
阅读量:5836 次
发布时间:2019-06-18

本文共 1090 字,大约阅读时间需要 3 分钟。

#!/usr/bin/env python3 

#-*- coding:utf-8 -*- 

 

#常用第三方模块

#PIL: Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。

#由于PIL仅支持到Python2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容版本Pillow,支持最新的Python 3.X ,又加入了许多新特性,因此,

#我们可以直接安装使用Pillow.生成随机验证码:

from PIL import Image,ImageDraw,ImageFont,ImageFilter

import random 

#随机字母

def rndChar():

    return chr(random.randint(65,90))

 #随机颜色1:

def rndColor():

    return(random.randint(64,255),random.randint(64,255),random.randint(64,255))

#随机颜色2

def rndColor2():

    return(random.randint(32,127),random.randint(32,127),random.randint(32,127))

 

#240*60:

width=60*4

height=60

image=Image.new('RGB',(width,height),(255,255,255))

 

#创建pont对象:

font=ImageFont.truetype('e:/work/chinese.TTF',36)

#创建Drev对象:

draw=ImageDraw.Draw(image)

#填充每个像素:

for x in range(width):

    for y in range(height):

     draw.point((x,y),fill=rndColor())

#输出文字:

for t in range(4):

    draw.text((60*t+10,10),rndChar(),font=font,fill=rndColor2())

#模糊:

image=image.filter(ImageFilter.BLUR)

image.save('code.jpg','jpeg')

#我们用随机颜色填充背景,再画上文字,最后对图像进行模糊,得到验证码图片。

 

转载于:https://www.cnblogs.com/Ting-light/p/9548174.html

你可能感兴趣的文章
磁盘管理及lvm
查看>>
Node实现静态服务器
查看>>
lsa声卡/dev/snd/pcmC0D0p的open打开流程
查看>>
浅谈什么是正向代理和反向代理,如何使用nginx搭建正向代理和反向代理
查看>>
转 通过phpize为php在不重新编译php情况下安装模块openssl
查看>>
搭建Jupyter学习环境
查看>>
html基础
查看>>
深入理解java虚拟机(三)--类文件结构
查看>>
Null value was assigned to a property of primitive type setter of
查看>>
UIRecorder 学习了解
查看>>
三元表达式,推导式,递归,匿名函数,内置函数
查看>>
zabbix3.4配置之邮件报警机制(通过zabbix自有的邮件机制)
查看>>
SQL server查看触发器是否被禁用
查看>>
jupyter notebook的安装与基本操作
查看>>
C#: using JsonReader avoid Deserialize Json to dynamic
查看>>
[C++基础]在构造函数内部调用构造函数
查看>>
跟随我在oracle学习php(8)
查看>>
FZU - 1688 Binary land
查看>>
Spring 3.1.0 Hibernate 3.0 Eclipse Spring WEB例子
查看>>
转换流,Properties 集合
查看>>