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 相关文章推荐
Python3基础之条件与循环控制实例解析
Aug 13 Python
python根据出生日期返回年龄的方法
Mar 26 Python
介绍Python中几个常用的类方法
Apr 08 Python
Python中字符串的修改及传参详解
Nov 30 Python
python利用smtplib实现QQ邮箱发送邮件
May 20 Python
numpy matrix和array的乘和加实例
Jun 28 Python
Python补齐字符串长度的实例
Nov 15 Python
创建Django项目图文实例详解
Jun 06 Python
使用python打印十行杨辉三角过程详解
Jul 10 Python
Python绘制二维曲线的日常应用详解
Dec 04 Python
浅谈在django中使用redirect重定向数据传输的问题
Mar 13 Python
python3 sleep 延时秒 毫秒实例
May 04 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数组去重比较快的实现方式
2016/01/19 PHP
Yii2.0预定义的别名功能小结
2016/07/04 PHP
laravel自定义分页效果
2017/07/23 PHP
JavaScript 学习笔记二 字符串拼接
2010/03/28 Javascript
CSS+jQuery实现的一个放大缩小动画效果
2013/09/24 Javascript
javascript如何创建表格(javascript绘制表格的二种方法)
2013/12/10 Javascript
JS实现网站菜单拖拽移位效果的方法
2015/09/24 Javascript
JavaScript兼容浏览器FF/IE技巧
2016/08/14 Javascript
原生JavaScript制作计算器
2016/10/16 Javascript
JS动态添加元素及绑定事件造成程序重复执行解决
2017/12/07 Javascript
简化vuex的状态管理方案的方法
2018/06/02 Javascript
Vue.js中的高级面试题及答案
2020/01/13 Javascript
python实现简单多人聊天室
2018/12/11 Python
Pycharm以root权限运行脚本的方法
2019/01/19 Python
python3中类的继承以及self和super的区别详解
2019/06/26 Python
python中列表的切片与修改知识点总结
2019/07/23 Python
python英语单词测试小程序代码实例
2019/09/09 Python
Jupyter notebook无法导入第三方模块的解决方式
2020/04/15 Python
利用Python实现某OA系统的自动定位功能
2020/05/27 Python
从python读取sql的实例方法
2020/07/21 Python
Myprotein葡萄牙官方网站:英国优质运动营养品牌
2016/09/12 全球购物
Desigual英国官网:在线购买原创服装
2018/03/09 全球购物
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
毕业自我鉴定
2013/11/05 职场文书
房地产财务管理制度
2014/02/02 职场文书
教师开学感言
2014/02/14 职场文书
小学班长竞选演讲稿
2014/04/24 职场文书
学生会竞选演讲稿怎么写
2014/08/26 职场文书
行风评议整改报告
2014/11/06 职场文书
党员个人总结自评
2015/02/14 职场文书
母亲节主题班会
2015/08/14 职场文书
2016会计专业自荐信范文
2016/01/28 职场文书
68行Python代码实现带难度升级的贪吃蛇
2022/01/18 Python
4种方法python批量修改替换列表中元素
2022/04/07 Python
SQL SERVER中的流程控制语句
2022/05/25 SQL Server
pandas中pd.groupby()的用法详解
2022/06/16 Python