天天看點

用PIL在 python中生成随機驗證碼圖檔

import random

from PIL import Image,ImageDraw,ImageFont

#産生随機顔色函數

def random_color():

c1 = random.randint(0,255)

c2 = random.randint(0,255)

c3 = random.randint(0,255)

return (c1,c3,c3)

#随機産生字元串和數字的函數

def random_text():

num = str(random.randint(0,9))

s_str = chr(random.randint(97,122))

c_str = chr(random.randint(65,90))

return (random.choice([num,s_str,c_str]))

font = ImageFont.truetype(’/System/Library/Fonts/PingFang.ttc’,size = 30)

#開始畫圖

def draw_picture():

width = 150

height = 40

#畫布

image = Image.new(‘RGB’,(width,height),random_color())

draw = ImageDraw.Draw(image)

#在圖檔上畫字元串和數字

for i in range(4):

draw.text((20+i*20,5),random_text(),random_color(),font=font)

with open(‘test.png’,‘wb’) as f:

image.save(f,‘png’)

f.close()

if name == ‘main’:

draw_picture()

參考文章:

https://blog.csdn.net/figo8875/article/details/88755122

繼續閱讀