需要的方法
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')