验证码python代码怎么写,python生成验证码的程序
Python中有一个强大的画图库pil,可以实现验证码的画图功能。
PIL: Python图像库是Python平台上图像处理事实上的标准库。PIL非常强大,但是API非常简单易用。
由于PIL只支持Python 2.7,而且年久失修,一群志愿者基于PIL创建了一个兼容版本,命名为Pillow,它支持最新的Python 3.x,并增加了许多新功能。因此,我们可以直接安装和使用枕头。
这个例子讲述了python如何使用pil生成图片验证码。分享给你,供你参考。具体实现方法如下:
#-*-编码:utf-8-*-
#导入三个模块
导入图像,图像绘制,图像字体
随机输入
导入数学
基本功能
#图片宽度
宽度=100
#图片高度
高度=40
#背景颜色
bgcolor=(255,255,255)
#生成背景图片
image=Image.new(RGB ,(宽度,高度),bgcolor)
#加载字体
font=image font . truetype( free sans . TTF ,30)
#字体颜色
fontcolor=(0,0,0)
#生成一个draw对象,是一些算法的集合
draw=ImageDraw。绘制(图像)
#绘制字体,(0,0)是起始位置
draw.text((0,0), 1234 ,font=font,fill=fontcolor)
#释放抽奖
德尔德鲁
#保存原始版本
image.save(1234_1.jpeg )
演示文稿失真,需要创建新的图片对象
#新图片
newImage=Image.new(RGB ,(width,height),bgcolor)
#加载像素
newPix=newImage.load()
pix=image.load()
偏移=0
foryinrange(0,height):
偏移=1
forxinrange(0,width):
#新的X坐标点
newx=x偏移
#您可以尝试以下效果
# newx=x math . sin(float(y)/10)* 10
ifnewxwidth:
#将源像素偏移到新的像素点。
newPix[newx,y]=pix[x,y]
#保存扭曲的版本
newImage.save(1234_2.jpeg )
改变它
#x1=ax乘以c
#y1=dx ey f
newImage=image.transform((宽30,高10),Image。仿射,(1,-0.3,0,-0.1,1,0))
newImage.save(1234_3.jpeg )
画干扰线,不要画太多线,让用户看不清楚
#为绘制线创建draw
draw=ImageDraw。绘制(新图像)
#线条的颜色
linecolor=(0,0,0)
foriinrange(0,15):
#这都是随机的
x1=random.randint(0,宽度)
x2=random.randint(0,宽度)
y1=random.randint(0,高度)
y2=random.randint(0,高度)
draw . line((x1,y1),(x2,y2)],linecolor)
#保存到本地
newImage.save(1234_4.jpeg )
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。