Python3 使用pillow库生成随机验证码
作者:haeasringnar 发布时间:2021-08-30 02:54:10
标签:python3,pillow库,随机,验证码
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库生成随机验证码网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://blog.csdn.net/haeasringnar/article/details/100062516


猜你喜欢
- 首先我们需要导入random模块 1. random.random(): 返回随机生成的一个浮点数,范围在[0,1)之间impor
- [sql] -- ===================【创建存储过程】===================== USE [Message
- 本文实例讲述了Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据。分享给大家供大家参考,具体如下:一、Logistic
- 在app挂载的div同级处写一个加载动画,例如:<body class="font-hei">
- 一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除(2, 3, 5, 7等),换句话说就是该数除了1和它本身以外不再有其他的
- 有时在处理不规则数据时需要提取文本包含的时间日期。dateutil.parser模块可以统一日期字符串格式。datefinder模块可以在字
- mysql数据库版本从5.6.28升到8.0.11过程中部署项目时遇到的问题和解决方法,具体介绍如下所示:首先这个项目用到了hibernat
- 本文实例为大家分享了JavaScript实现网页版计算器的具体代码,供大家参考,具体内容如下由于无聊看电脑上的系统软件翻到了计算器这个功能,
- 熵值法也称熵权法,是学术研究,及实际应用中的一种常用且有效的编制指标的方法。1.简单理解 信息熵机器学习中的决策树算法是对信息熵的一种典型的
- Python是一个脚本语言,被解释器解释执行。它的发布方式:.py文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装P
- https://docs.python.org/3/library/function.html #python官方网址# 取绝对值print
- 这是份总结,有不恰达的地方欢迎一同讨论联系方式 : 龙藏 longzang@taobao.com点击这里全幅围观或者点下面大图去 slide
- SQL Server数据库查询速度慢的原因有很多,常见的有以下几种:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)
- MySQL 非空约束(NOT NULL)指字段的值不能为空。对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统就会报错。可
- 本文实例为大家分享了python实现自主查询实时天气的具体代码,供大家参考,具体内容如下用到了urllib2 json 很简单的
- 导读你真的知道CHAR和VARCHAR类型在存储和读取时的区别吗?还是先抛几条结论吧:1、存储的时候,CHAR总是会补足空格后再存储,不管用
- 很早很早的时候,computer这个东西习惯于被称之为计算机,因为它的主要功能是完成一些科学计算的东西,我记得自己鼓捣它的时候,就是计算,根
- 是在客户端确认还是在服务器端确认? <SCRIPT LANGUAGE="VBSc
- JS获取网页中HTML元素的几种方法分析:getElementById getElementsByName getElementsByTag
- Django中默认使用sqlite3数据库,今天研究了下如何将它换成常见的mysql数据库。由于项目用得python3,而MySQLdb没有