python验证码生成器_Python captcha模块生成验证码

本文介绍了如何使用Python的captcha模块生成不同样式的验证码,包括固定模式、自定义颜色以及全自定义的验证码生成方法。通过示例代码详细展示了生成过程,包括设置字体颜色、背景色、图片尺寸以及添加噪声点和曲线等步骤。

需要的方法

img=ImageCaptcha(width=160, height=60, fonts=None, font_sizes=None) #实例化ImageCaptcha类

image=img.generate_image(验证码字符串)

image.save('验证码.png')

captcha.image 的random_color(起始色值,终止色值)方法产生随机颜色,0-255之间

create_captcha_image(字符串,字体颜色,背景色)

create_noise_dots(image=image,color=color,width=10,number=10),width点的宽度与number点的数量有默认值

create_noise_curve(image,color) image要绘制曲线的图片

image.save('验证码.png')

1.自动生成固定模式的验证码

from captcha.image import ImageCaptcha

import string,random

#string.ascii_letters 包含所有英文字母

#string.digits 包含0-9的所有数字

token=string.digits+string.ascii_letters #拼接字符串

print(token)

cap=random.sample(token,4) #随机字符,固定数量

print(cap)

token_str=''.join(cap) #拼接字符串

print(token_str)

img=ImageCaptcha() #实例化ImageCaptcha类

#这是ImageCaptcha自带的初始化内容width=160, height=60, fonts=None, font_sizes=None,可以在实例化时自己设置

#generate_image可以接收一个分散的字符列表,可以不拼接在一起

# image=img.generate_image(cap)

image=img.generate_image(token_str)

image.save('验证码.png')

2.固定样式自定义颜色生成验证码

from captcha.image import Image,ImageFilter,ImageCaptcha

import string,random

token=string.digits+string.ascii_letters

print(token)

cap=random.sample(token,4) #随机字符,固定数量

print(cap)

token_str=''.join(cap) #拼接字符串

print(token_str)

img=ImageCaptcha() #实例化ImageCaptcha类

RGB=(38,38,0) #字体色

bgc=(255,255,255) #背景色

image=img.create_captcha_image(token_str,RGB,bgc)

image.save('验证码.png')

3.全自定义生成验证码(自定义颜色,图片尺寸等)

from captcha.image import ImageCaptcha,random_color

import string,random

token=string.digits+string.ascii_letters

print(token)

cap=random.sample(token,4) #随机字符,固定数量

print(cap)

token_str=''.join(cap) #拼接字符串

print(token_str)

img=ImageCaptcha() #实例化ImageCaptcha类

#这是ImageCaptcha自带的初始化内容width=160, height=60, fonts=None, font_sizes=None,可以自己设置

RGB=(38,38,0) #字体色

bgc=(255,255,255) #背景色

color=random_color(50,180) #生成随机颜色

print(color)

image=img.create_captcha_image(token_str,RGB,bgc)

img.create_noise_dots(image=image,color=color,width=10,number=10)

img.create_noise_curve(image=image,color=RGB)

image.save('验证码.png')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值