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制作花瓣网美女图片爬虫
Oct 28 Python
python 读写、创建 文件的方法(必看)
Sep 12 Python
python中利用await关键字如何等待Future对象完成详解
Sep 07 Python
Python基于hashlib模块的文件MD5一致性加密验证示例
Feb 10 Python
基于python 爬虫爬到含空格的url的处理方法
May 11 Python
windows下python安装小白入门教程
Sep 18 Python
python实现键盘控制鼠标移动
Nov 27 Python
python networkx 包绘制复杂网络关系图的实现
Jul 10 Python
PyTorch笔记之scatter()函数的使用
Feb 12 Python
Django用数据库表反向生成models类知识点详解
Mar 25 Python
sklearn的predict_proba使用说明
Jun 28 Python
python+opencv实现视频抽帧示例代码
Jun 11 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
虹吸壶是谁发明的?煮出来的咖啡好喝吗
2021/03/04 冲泡冲煮
php中使用Curl、socket、file_get_contents三种方法POST提交数据
2011/08/12 PHP
[原创]smarty简单模板变量输出方法
2016/07/09 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
Jquery 获得服务器控件值的方法小结
2010/05/11 Javascript
iframe 上下滚动条如何默认在下方实现原理
2012/12/10 Javascript
Yii-自定义删除确认弹框(zyd)jquery实现代码
2013/03/04 Javascript
js网页实时倒计时精确到秒级
2014/02/10 Javascript
举例详解AngularJS中ngShow和ngHide的使用方法
2015/06/19 Javascript
JS给Textarea文本框添加行号的方法
2015/08/20 Javascript
Bootstrap每天必学之表单
2015/11/23 Javascript
三种AngularJS中获取数据源的方式
2016/02/02 Javascript
Angularjs 设置全局变量的方法总结
2016/10/20 Javascript
jQuery实现简单的回到顶部totop功能示例
2017/10/16 jQuery
three.js 入门案例详解
2018/01/23 Javascript
微信小程序使用map组件实现获取定位城市天气或者指定城市天气数据功能
2019/01/22 Javascript
[01:01:25]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第三局
2016/02/27 DOTA
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
Django如何防止定时任务并发浅析
2019/05/14 Python
Python 200行代码实现一个滑动验证码过程详解
2019/07/11 Python
pygame实现俄罗斯方块游戏(AI篇1)
2019/10/29 Python
python 实现Flask中返回图片流给前端展示
2020/01/09 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
2020/06/06 Python
python实现简易版学生成绩管理系统
2020/06/22 Python
css3编写浏览器背景渐变背景色的方法
2018/03/05 HTML / CSS
AmazeUI 图标的示例代码
2020/08/13 HTML / CSS
接口中的方法可以是abstract的吗
2015/07/23 面试题
浙大网新C/C++面试解惑
2015/05/27 面试题
期末自我鉴定
2014/02/02 职场文书
揠苗助长教学反思
2014/02/04 职场文书
捐款活动总结
2014/08/27 职场文书
树转促学习心得体会
2014/09/10 职场文书
安全伴我行主题班会
2015/08/13 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
2022/01/18 PostgreSQL
Golang 入门 之url 包
2022/05/04 Golang