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 13 Python
TensorFlow 合并/连接数组的方法
Jul 27 Python
在Python中pandas.DataFrame重置索引名称的实例
Nov 06 Python
在python中按照特定顺序访问字典的方法详解
Dec 14 Python
python lxml中etree的简单应用
May 10 Python
在Pytorch中使用样本权重(sample_weight)的正确方法
Aug 17 Python
opencv调整图像亮度对比度的示例代码
Sep 27 Python
python获取系统内存占用信息的实例方法
Jul 17 Python
python语音识别指南终极版(有这一篇足矣)
Sep 09 Python
PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题
Apr 03 Python
python分分钟绘制精美地图海报
Feb 15 Python
全网非常详细的pytest配置文件
Jul 15 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
桌面中心(二)数据库写入
2006/10/09 PHP
浅谈php和.net的区别
2014/09/28 PHP
盘点PHP和ASP.NET的10大对比!
2015/12/24 PHP
PHP getNamespaces()函数讲解
2019/02/03 PHP
Add Formatted Data to a Spreadsheet
2007/06/12 Javascript
JavaScript去掉空格的方法集合
2010/12/28 Javascript
jQuery中获取Radio元素值的方法
2013/07/02 Javascript
Jquery:ajax实现翻页无刷新功能代码
2013/08/05 Javascript
jquery实现ajax提交form表单的方法总结
2014/03/03 Javascript
JS使用oumousemove和oumouseout动态改变图片显示的方法
2015/03/31 Javascript
JavaScript实现跨浏览器的添加及删除事件绑定函数实例
2015/08/04 Javascript
Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
2015/12/30 Javascript
bootstrap导航栏、下拉菜单、表单的简单应用实例解析
2017/01/06 Javascript
JavaScript实现音乐自动切换和轮播
2017/11/05 Javascript
不到200行 JavaScript 代码实现富文本编辑器的方法
2018/01/03 Javascript
vue 中引用gojs绘制E-R图的方法示例
2018/08/24 Javascript
Vue父子之间值传递的实例教程
2020/07/02 Javascript
vue实现移动端项目多行文本溢出省略
2020/07/29 Javascript
js实现微信聊天界面
2020/08/09 Javascript
[03:59]5分钟带你了解什么是DOTA2(第二期)
2017/02/07 DOTA
Python中文件操作简明介绍
2015/04/13 Python
Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)
2017/06/27 Python
python快速建立超简单的web服务器的实现方法
2018/02/17 Python
PyQt5每天必学之像素图控件QPixmap
2018/04/19 Python
python操作excel的包(openpyxl、xlsxwriter)
2018/06/11 Python
Python利用Xpath选择器爬取京东网商品信息
2020/06/01 Python
印度领先的在线时尚商店:Koovs
2016/08/28 全球购物
Nike挪威官网:Nike.com (NO)
2018/11/26 全球购物
电子狗项圈:eDog Australia
2019/12/04 全球购物
展会邀请函范文
2014/01/26 职场文书
十八届三中全会个人学习材料
2014/02/13 职场文书
学党史心得体会
2014/09/05 职场文书
2014感恩节演讲稿大全
2014/10/11 职场文书
社区义诊通知
2015/04/24 职场文书
2019年12月24日平安夜祝福语集锦
2019/12/24 职场文书
详解Vue的sync修饰符
2021/05/15 Vue.js