python随机数生成验证码,python识别图形验证码
python生成随机图形验证码
用python生成随机图片验证码,需要用到枕头模块。
1.安装pillow模块
pipi install pillow2.pillow模块的基本使用
1.创建一幅图片
fromPILimportImage
# Define使用Image类实例化一个基于(255,255,255) RGB的图片,长度为400px,宽度为400px。
img1=Image.new(mode=RGB ,size=(400,400),color=(255,255,255))
#将生成的图片保存为“pic.png”格式
withopen(pic.png , wb)asf:
img1.save(f,format=png )
#显示图片
1.img1.show()运行程序,会在同一级别的py文件下生成一个名为 pic.png 的小图。图片长400px,宽400px,颜色为白色。
2.创建画笔
#创建画笔以在图片上生成内容
Draw1=imagedraw.draw (img1,mode= RGB) 3。在图片上生成点
#在(100,100)坐标上生成一个红点,指定的坐标不能超过图片的大小
draw1.point([100,100],pill=red )
#在(80,80)坐标生成一个黑点,指定的坐标不能超过图片的大小
Draw1.point ([80,80],fill=(0,0,0))相关推荐:《Python视频教程》
4.在画上画一条线
#第一个括号中的参数是坐标,前两个数字是起始坐标,后两个数字是结束坐标。
#括号中的第二个参数指定颜色,可以直接指定,也可以用RGB表示。
draw1.line((100,100,100,300),fill=red )
Draw1.line ((100,200,200,100),fill= blue )运行程序,画笔会在(100,100)和(100,200)和(200)之间画一条红色竖线
5.在画上画一个圆
#括号中的第一个参数是坐标,前两个数字是起始坐标,后两个是结束坐标。
#用这两个坐标之间的平方面积生成一个圆,花括号中的第二个参数是圆的起始角度。
#第三个参数是圆的结束角,0到360表示画了一个完整的圆,
#你也可以指定生成圆弧的数字,最后一个参数表示颜色,或者你可以用RGB表示想要的颜色。
draw1.arc((100,100,300,300),0,360,fill=red )
Draw1.arc ((0,0,300,300),0,90,fill= blue) 6。在图片上写下文字。
#使用画笔的文本方法在图片上生成文本
#第一个参数是坐标,第二个参数是所有生成文本的内容。
#第三个参数是文本的颜色
Draw1.text ([0,0], Python , Blue) 7。在图片上生成指定字体的文本。
#先实例化一个font对象,第一个参数表示字体的路径,第二个参数表示字体大小。
font 1=image font . truetype( onechance . TTF ,28)
#在图片上生成字体
#第一个括号中的参数表示坐标,第二个参数表示写的是什么。
#第三个参数表示颜色,第四个参数表示使用的字体对象。
Draw1.text ([200,200], Linux , red ,font=font1)图片验证码示例
#导入随机模块
随机输入
#导入图像、图像绘制、图像字体模块
fromPILimportImage,ImageDraw,ImageFont
# Define使用Image类实例化一张基于RGB的(255,255,255)色的图片,长120px,宽30px。
img1=Image.new(mode=RGB ,size=(120,30),color=(255,255,255))
#实例化画笔
draw1=ImageDraw。Draw(img1,mode=RGB )
#定义要使用的字体
font 1=image font . truetype( onechance . TTF ,28)
(5):
#每个周期,从A到z随机生成一个字母或数字。
#65到90是字母的ASCII码。使用chr将生成的ASCII码转换成字符。
#str将生成的数字转换为字符串
char 1=random . choice([chr(random . randint(65,90)),str(random.randint(0,9))])
#每次循环重新生成随机颜色。
color1=(random.randint(0,255),random.randint(0,255),random.randint(0,255))
#将生成的字母或数字添加到图片中
#图片长度为120px。要生成5个数字或字母,每增加一个数字或字母,图片的位置将向后移动24px。
draw1.text([i*24,0],char1,color1,font=font1)
#将生成的图片保存为“pic.png”格式
withopen(pic.png , wb)asf:
1.img.save (f,format= png )程序每次运行都会在程序的对等目录中生成一个包含随机字符的小图片。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。