第8题:生成类似于下图中的字母验证码图片
#!/usr/bin/env python3
# -*- coding : utf-8 -*-
from PIL import Image,ImageDraw,ImageFont,ImageFilter
import string
import random
def getrandomChar():
return [random.choice(string.ascii_letters) for i_ in range(4)]
def getrandomColor(begin,end):
return (random.randint(begin,end),random.randint(begin,end),random.randint(begin,end))
def generateCode():
code = getrandomChar()
print(code)
width = 280
height = 80
img = Image.new('RGB',(width,height),(255,255,255))
font = ImageFont.truetype("C:\Windows\Fonts\calibri.ttf",42)
draw = ImageDraw.Draw(img)
for i in range(width):
for j in range(height):
draw.point((i,j),fill = getrandomColor(64,255))
for i in range(4):
draw.text((70 * i + random.randint(0,50),random.randint(0,50)),code[i],font = font,fill = getrandomColor(0,100))
img = img.filter(ImageFilter.BLUR)
img.save('test.jpg','jpeg')
img.show()
if __name__ == "__main__":
generateCode()
输出示例: