导言:刚过完春节,感触很大,有淡淡的伤感,情感的问题不多说,工作还是需要继续往前推进的,今天产品经理说要把接口自动化完善下,想了想,那么多接口,请求参数那么多,返回参数那么多,要写代码去验证请求参数和返回参数的话,有点麻烦了,不管咋样,继续学习Python
PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用
推荐看下:廖雪峰PIL教程
直接上代码:
# 随机生成4位验证码(26字母或10个数字)
def get_text():
source = list(string.letters)
for index in range(0, 10):
source.append(str(index))
captcha = "".join(random.sample(source, 4))
return captcha
# 生成图片验证码
def set_pic(text):
message = 1
width, height = 400, 200
color = (random.randint(64, 255), random.randint(64, 255), random.randint(64, 255))
color_font = (random.randint(32, 127), random.randint(32, 127), random.randint(32, 127))
if message == 1:
font = ImageFont.truetype("/root/MyProject/Yangtai/static/font/Arial.ttf", 100)
else:
font = ImageFont.truetype("C:/Users/009/Desktop/MyProject/Yangtai/static/font/Arial.ttf", 100)
image = Image.new("RGB", (width, height), (255, 255, 255))
draw = ImageDraw.Draw(image)
draw.text((width/4, height/4), text, font=font, fill=color_font)
for n in range(10):
draw.line([(random.randint(0, width), random.randint(0, height)),
(random.randint(0, width), random.randint(0, height))],
fill=color)
image = image.filter(ImageFilter.EDGE_ENHANCE_MORE)
if message == 1:
image.save("/root/MyProject/Yangtai/static/images/code.png")
else:
image.save("C:/Users/009/Desktop/MyProject/Yangtai/static/images/code.png")
return draw
看下效果:
总结:
Python PIL图形化还是可以的哈,屌的人可以不可以拿来当PS呢
本人利用Bootstrap + EasyUI + Django开发网站:http://www.xuyangting.com/ 欢迎来访
阳台测试: 239547991(群号)
本文介绍了使用Python的PIL库来生成图形验证码的方法。包括如何随机生成由字母和数字组成的验证码文本,以及如何将这些文本渲染到图片上并添加干扰线等效果。
874

被折叠的 条评论
为什么被折叠?



