最近刷到牛客网的生成噪点图片的项目,看着这个项目学习了一下。
感谢大佬的博客解惑传送门
综合牛客网的题目,修改了python3更新的包
rnd = random.random
draw = ImageDraw.Draw(self.img)
font = ImageFont.truetype("HelveticaObl-Heavy.ttf",66)
#这里创建图片并且规定ttf字体文件和大小
npixels = self.size[0] * self.size[1]
data = [white if rnd() > 0.5 else black for i in range(npixels)]
self.img.putdata(data)
#将随机黑白像素存入图片数据
st = '123456789qwertyuiopasdfghjkzxcvbnm'
rand_str = ''
for x in range(0, 4):
rand_str += str((random.randint(0, len(st))))
# 设置字体颜色
font_color = (random.randrange(100, 255), random.randrange(0, 100), random.randrange(0, 255))
draw.text((10, 80), rand_str[0], font=font, fill=font_color)
draw.text((88, 80), rand_str[1], font=font, fill=font_color)
draw.text((176, 80), rand_str[2], font=font, fill=font_color)
draw.text((242, 80), rand_str[3], font=font, fill=font_color)
#将四个验证数字写道图片上