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 常用string函数(收藏)
May 30 Python
python 3.5实现检测路由器流量并写入txt的方法实例
Dec 17 Python
http请求 request失败自动重新尝试代码示例
Jan 25 Python
python实现画一颗树和一片森林
Jun 25 Python
便捷提取python导入包的属性方法
Oct 15 Python
pandas筛选某列出现编码错误的解决方法
Nov 07 Python
python 梯度法求解函数极值的实例
Jul 10 Python
利用python实现.dcm格式图像转为.jpg格式
Jan 13 Python
完美解决Django2.0中models下的ForeignKey()问题
May 19 Python
基于SQLAlchemy实现操作MySQL并执行原生sql语句
Jun 10 Python
Python中生成ndarray实例讲解
Feb 22 Python
python 爬取京东指定商品评论并进行情感分析
May 27 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 park、unpark、ord 函数使用方法(二进制流接口应用实例)
2010/10/19 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
2016/01/11 PHP
laravel 验证错误信息到 blade模板的方法
2019/09/29 PHP
改版了网上的一个js操作userdata
2007/04/27 Javascript
网站被黑的假象--ARP欺骗之页面中加入一段js
2007/05/16 Javascript
ASP中用Join和Array,可以加快字符连接速度的代码
2007/08/22 Javascript
innerhtml用法 innertext用法 以及innerHTML与innertext的区别
2009/10/26 Javascript
jQuery html()方法使用不了无法显示内容的问题
2014/08/06 Javascript
js实现感应鼠标图片透明度变化的方法
2015/02/20 Javascript
JavaScript中通过提示框跳转页面的方法
2016/02/14 Javascript
jquery编写日期选择器
2017/03/16 Javascript
用 Vue.js 递归组件实现可折叠的树形菜单(demo)
2017/12/25 Javascript
Egg.js 中 AJax 上传文件获取参数的方法
2018/10/10 Javascript
js实现下拉框二级联动
2018/12/04 Javascript
JQuery复选框全选效果如何实现
2020/05/08 jQuery
Python中的条件判断语句基础学习教程
2016/02/07 Python
python 与GO中操作slice,list的方式实例代码
2017/03/20 Python
深入理解Python3中的http.client模块
2017/03/29 Python
Python删除n行后的其他行方法
2019/01/28 Python
浅谈django2.0 ForeignKey参数的变化
2019/08/06 Python
keras K.function获取某层的输出操作
2020/06/29 Python
html5 Canvas画图教程(3)—canvas出现1像素线条模糊不清的原因
2013/01/09 HTML / CSS
澳大利亚最超值的自行车之家:Reid Cycles
2019/03/24 全球购物
LINUX下线程,GDI类的解释
2016/12/14 面试题
运动会100米解说词
2014/01/23 职场文书
自我评价的范文
2014/02/02 职场文书
关爱女孩行动实施方案
2014/03/13 职场文书
教堂婚礼主持词
2014/03/14 职场文书
实习指导老师评语
2014/04/26 职场文书
诚信贷款承诺书
2014/05/30 职场文书
活动总结报告怎么写
2014/07/03 职场文书
北京英语导游词
2015/02/12 职场文书
美容院管理规章制度
2015/08/05 职场文书
二手手机买卖合同范本(2019年版)
2019/10/28 职场文书
关于JS中的作用域中的问题思考分享
2022/04/06 Javascript
Ubuntu安装Mysql+启用远程连接的完整过程
2022/06/21 Servers