from PIL import Image, ImageDraw,ImageFont, ImageFilter
import random
# 随机字母(含大小写)
def rndChar():
return chr(random.randint(65,122))
# 随机数字
def rndInt():
return chr(random.randint(48,57))
# 随机颜色1
def rndColor():
return (random.randint(64,255), random.randint(64,255), random.randint(64,255))
# 随机颜色2
def rndColor2():
return (random.randint(32,127), random.randint(32,127), random.randint(32,127))
# 300 * 60
width = 60 * 5
height = 60
image = Image.new('RGB', (width, height), (255,255,255))
# 创建Pont对象
font = ImageFont.truetype('C:\Windows\Fonts\Arial.ttf', 40)
#创建Draw对象
draw = ImageDraw.Draw(image)
#填充每个像素
for x in range(width):
for y in range(height):
draw.point((x,y), fill=rndColor())
# 输出文字
for t in range(5):
draw.text((60 * t + 10, 10), rndChar(), font=font, fill=rndColor2())
# 模糊
image = image.filter(ImageFilter.BLUR)
image.save('code,jpg', 'jpeg')
以下为输出验证码: