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')

你可能感兴趣的:(Python captcha模块生成验证码)