需要的方法
img=ImageCaptcha(width=160, height=60, fonts=None, font_sizes=None) #實(shí)例化ImageCaptcha類
image=img.generate_image(驗(yàn)證碼字符串)
image.save('驗(yàn)證碼.png')
captcha.image 的random_color(起始色值,終止色值)方法產(chǎn)生隨機(jī)顏色,0-255之間
create_captcha_image(字符串,字體顏色,背景色)
create_noise_dots(image=image,color=color,width=10,number=10)畦徘,width點(diǎn)的寬度與number點(diǎn)的數(shù)量有默認(rèn)值
create_noise_curve(image,color) image要繪制曲線的圖片
image.save('驗(yàn)證碼.png')
1.自動(dòng)生成固定模式的驗(yàn)證碼
from captcha.image import ImageCaptcha
import string,random
#string.ascii_letters 包含所有英文字母
#string.digits 包含0-9的所有數(shù)字
token=string.digits+string.ascii_letters #拼接字符串
print(token)
cap=random.sample(token,4) #隨機(jī)字符鳖悠,固定數(shù)量
print(cap)
token_str=''.join(cap) #拼接字符串
print(token_str)
img=ImageCaptcha() #實(shí)例化ImageCaptcha類
#這是ImageCaptcha自帶的初始化內(nèi)容width=160, height=60, fonts=None, font_sizes=None肺樟,可以在實(shí)例化時(shí)自己設(shè)置
#generate_image可以接收一個(gè)分散的字符列表枝誊,可以不拼接在一起
# image=img.generate_image(cap)
image=img.generate_image(token_str)
image.save('驗(yàn)證碼.png')
2.固定樣式自定義顏色生成驗(yàn)證碼
from captcha.image import Image,ImageFilter,ImageCaptcha
import string,random
token=string.digits+string.ascii_letters
print(token)
cap=random.sample(token,4) #隨機(jī)字符,固定數(shù)量
print(cap)
token_str=''.join(cap) #拼接字符串
print(token_str)
img=ImageCaptcha() #實(shí)例化ImageCaptcha類
RGB=(38,38,0) #字體色
bgc=(255,255,255) #背景色
image=img.create_captcha_image(token_str,RGB,bgc)
image.save('驗(yàn)證碼.png')
3.全自定義生成驗(yàn)證碼(自定義顏色卖陵,圖片尺寸等)
from captcha.image import ImageCaptcha,random_color
import string,random
token=string.digits+string.ascii_letters
print(token)
cap=random.sample(token,4) #隨機(jī)字符遭顶,固定數(shù)量
print(cap)
token_str=''.join(cap) #拼接字符串
print(token_str)
img=ImageCaptcha() #實(shí)例化ImageCaptcha類
#這是ImageCaptcha自帶的初始化內(nèi)容width=160, height=60, fonts=None, font_sizes=None,可以自己設(shè)置
RGB=(38,38,0) #字體色
bgc=(255,255,255) #背景色
color=random_color(50,180) #生成隨機(jī)顏色
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('驗(yàn)證碼.png')