Python3 使用pillow库生成随机验证码


Posted in Python onAugust 26, 2019

Python3 使用pillow库生成随机验证码的代码如下所示:

import random
# pillow 包的使用
from PIL import Image,ImageDraw,ImageFont,ImageFilter
#Image  负责处理图片
#ImageDraw 负责处理画笔
#ImageFont 负责处理文字
#ImageFilter负责处理路径
img=Image.new('RGB',(150,50),(255,255,255)) #建立一个图片
'''
RGB:表示采用RGB方式新建的图片
第二个:表示图片的宽度和高度
第三个:表示具体图片的颜色
'''
#创建画笔
draw=ImageDraw.Draw(img)
#绘制线
for i in range(random.randint(1,10)):
 draw.line(
  [
   (random.randint(1,150),random.randint(1,50)),
   (random.randint(1,150),random.randint(1,50))
  ],
  fill=(0,0,0)
 )
#绘制点
for i in range(1000):
 draw.point(
  [
   random.randint(1,150),
   random.randint(1,150)
  ],
  fill=(0,0,0)
 )
fontlist=list('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789')
c_char=' '.join(random.sample(fontlist,5))#在指定的列表中随机取出指定个数的元素
#绘制字体 需要先定制一下字体
font=ImageFont.truetype('simsun.ttc',30)
draw.text((5,5),c_char,font=font,fill='green')
'''
第一个:代表文字的位置,距离上和左的位置
第二个:代表文字的内容
第三个:代表字体,字形和大小
第四个:字体颜色
'''
#扭曲字体
# params=[1-float(random.randint(1,2))/100,
#   0,0,0,
#   1-float(random.randint(1,2))/100,
#   float(random.randint(1,2))/500,
#   0.001,
#   float(random.randint(1,1))/500,
# ]
# img=img.transform((150,50),Image.PERSPECTIVE,params)
# img=img.filter(ImageFilter.EDGE_ENHANCE_MORE)
# 展示图片
img.show()
# 将图片保存到本地
img.save('blur.jpg', 'jpeg')

总结

以上所述是小编给大家介绍的Python3 使用pillow库生成随机验证码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python字符串的encode与decode研究心得乱码问题解决方法
Mar 23 Python
Python生成pdf文件的方法
Aug 04 Python
用Python实现一个简单的能够发送带附件的邮件程序的教程
Apr 08 Python
Python使用字典的嵌套功能详解
Feb 27 Python
通过实例解析python描述符原理作用
Jan 22 Python
Python基于pandas绘制散点图矩阵代码实例
Jun 04 Python
你需要学会的8个Python列表技巧
Jun 24 Python
python实现图像外边界跟踪操作
Jul 13 Python
Python图像读写方法对比
Nov 16 Python
python Xpath语法的使用
Nov 26 Python
利用python进行文件操作
Dec 04 Python
Django rest framework如何自定义用户表
Jun 09 Python
python excel转换csv代码实例
Aug 26 #Python
对YOLOv3模型调用时候的python接口详解
Aug 26 #Python
pandas条件组合筛选和按范围筛选的示例代码
Aug 26 #Python
python3 反射的四种基本方法解析
Aug 26 #Python
python接口调用已训练好的caffe模型测试分类方法
Aug 26 #Python
深入学习python多线程与GIL
Aug 26 #Python
用python生成与调用cntk模型代码演示方法
Aug 26 #Python
You might like
编写安全 PHP应用程序的七个习惯深入分析
2013/06/08 PHP
PHP函数之日期时间函数date()使用详解
2013/09/09 PHP
PHP制作万年历
2015/01/07 PHP
Prototype1.6 JS 官方下载地址
2007/11/30 Javascript
JavaScript中SQL语句的应用实现
2010/05/04 Javascript
Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
2010/09/12 Javascript
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
js将控件隐藏的方法及display属性介绍
2013/07/04 Javascript
将中国标准时间转换成标准格式的代码
2014/03/20 Javascript
jQuery+css3动画属性制作猎豹浏览器宽屏banner焦点图
2015/03/16 Javascript
javascript:void(0)点击登录没反应怎么解决
2015/11/13 Javascript
javascript性能优化之DOM交互操作实例分析
2015/12/12 Javascript
JavaScript 继承详解(五)
2016/10/11 Javascript
仿iframe效果Aajx文件上传实例
2016/11/18 Javascript
js时间戳格式化成日期格式的多种方法介绍
2017/02/16 Javascript
自带气泡提示的vue校验插件(vue-verify-pop)
2017/04/07 Javascript
详解react使用react-bootstrap当轮子造车
2017/08/15 Javascript
从vue基础开始创建一个简单的增删改查的实例代码(推荐)
2018/02/11 Javascript
vue 自定义指令自动获取文本框焦点的方法
2018/08/25 Javascript
详解Vue、element-ui、axios实现省市区三级联动
2019/05/07 Javascript
利用Angular7开发一个Radio组件的全过程
2019/07/11 Javascript
[01:33:30]DOTA2-DPC中国联赛 正赛 RNG vs Phoenix BO3 第二场 2月5日
2021/03/11 DOTA
Python中字符串的处理技巧分享
2016/09/17 Python
Python机器学习logistic回归代码解析
2018/01/17 Python
python搭建服务器实现两个Android客户端间收发消息
2018/04/12 Python
pytorch 输出中间层特征的实例
2019/08/17 Python
Tensorflow 模型转换 .pb convert to .lite实例
2020/02/12 Python
Django使用rest_framework写出API
2020/05/21 Python
会计实习自我鉴定
2013/12/04 职场文书
共筑中国梦演讲稿
2014/04/23 职场文书
二手车转让协议书
2015/01/29 职场文书
2015年端午节活动方案
2015/05/05 职场文书
婚育证明格式
2015/06/17 职场文书
血轮眼轮回眼特效 html+css
2021/03/31 HTML / CSS
golang在GRPC中设置client的超时时间
2021/04/27 Golang
python操作xlsx格式文件并读取
2021/06/02 Python