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 相关文章推荐
centos下更新Python版本的步骤
Feb 12 Python
Python中实现结构相似的函数调用方法
Mar 10 Python
python使用cStringIO实现临时内存文件访问的方法
Mar 26 Python
深入理解Python中字典的键的使用
Aug 19 Python
python实现简单购物商城
May 21 Python
Python爬虫实现“盗取”微信好友信息的方法分析
Sep 16 Python
python jenkins 打包构建代码的示例代码
Nov 29 Python
python argparse模块通过后台传递参数实例
Apr 20 Python
python 进程池pool使用详解
Oct 15 Python
利用Python函数实现一个万历表完整示例
Jan 23 Python
python爬虫scrapy基本使用超详细教程
Feb 20 Python
如何用 Python 制作 GitHub 消息助手
Feb 20 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中cookies使用指南
2007/03/16 PHP
领悟php接口中interface存在的意义
2013/06/27 PHP
Zend Framework创建自己的动作助手详解
2016/03/05 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
Avengerls vs KG BO3 第二场2.18
2021/03/10 DOTA
Node.js中HTTP模块与事件模块详解
2014/11/14 Javascript
AngularJS 中的指令实践开发指南(一)
2016/03/20 Javascript
使用jquery提交form表单并自定义action的实现代码
2016/05/25 Javascript
jQuery获取多种input值的简单实现方法
2016/06/20 Javascript
js替换字符串中所有指定的字符(实现代码)
2016/08/17 Javascript
原生Javascript插件开发实践
2017/01/09 Javascript
JS匿名函数内部this指向问题详析
2019/05/10 Javascript
微信小程序开发之转发分享功能
2019/10/22 Javascript
vue 动态设置img的src地址无效,npm run build 后找不到文件的解决
2020/07/26 Javascript
JavaScript 常见的继承方式汇总
2020/09/17 Javascript
vue实现简易的双向数据绑定
2020/12/29 Vue.js
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
使用Python进行稳定可靠的文件操作详解
2013/12/31 Python
Python自定义类的数组排序实现代码
2016/08/28 Python
Python正则表达式实现截取成对括号的方法
2017/01/06 Python
利用python3 的pygame模块实现塔防游戏
2019/12/30 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
Tensorflow实现在训练好的模型上进行测试
2020/01/20 Python
tensorflow模型保存、加载之变量重命名实例
2020/01/21 Python
html5教你做炫酷的碎片式图片切换 (canvas)
2017/07/28 HTML / CSS
伦敦一卡通:The London Pass
2018/11/30 全球购物
什么是Deployment descriptors;都有什么类型的部署描述符
2015/07/28 面试题
请用用Java代码写一个堆栈
2012/01/26 面试题
Shell如何接收变量输入
2012/09/24 面试题
成人大专生实习期的自我评价
2013/10/02 职场文书
青年志愿者事迹材料
2014/02/07 职场文书
《第一次抱母亲》教学反思
2014/04/16 职场文书
中层干部培训方案
2014/06/16 职场文书
综合办公室主任岗位职责
2015/04/01 职场文书
通用员工手册范本
2015/05/14 职场文书
python3美化表格数据输出结果的实现代码
2021/04/14 Python