Python Show-Me-the-Code 第 0010 题 生成验证码图片
发布时间:2017-09-10 10:42:49
Python Show-Me-the-Code 第 0010 题 生成验证码图片

第 0010 题:使用 Python 生成类似于下图中的字母验证码图片

阅读资料

思路:先随机生成验证码,然后用Python的PIL库画出这个激活码的图片,具体点就是创建画布,加验证码的字上去,增加噪点进行干扰,再进行模糊处理,接着保存到名字为验证码的图片中。

0010.生成验证码图片.py

#!/usr/bin/env python #coding: utf-8 import Image, ImageDraw, ImageFont, ImageFilter import string, random fontPath = "/usr/share/fonts/truetype/ttf-devanagari-fonts/" # 获得随机四个字母 def getRandomChar(): return [random.choice(string.letters) for _ in range(4)] # 获得颜色 def getRandomColor(): return (random.randint(30, 100), random.randint(30, 100), random.randint(30, 100)) # 获得验证码图片 def getCodePiture(): width = 240 height = 60 # 创建画布 image = Image.new('RGB', (width, height), (180,180,180)) font = ImageFont.truetype(fontPath + 'kalimati.ttf', 40) draw = ImageDraw.Draw(image) # 创建验证码对象 code = getRandomChar() # 把验证码放到画布上 for t in range(4): draw.text((60 * t + 10, 0), code[t], font=font, fill=getRandomColor()) # 填充噪点 for _ in range(random.randint(1500,3000)): draw.point((random.randint(0,width), random.randint(0,height)), fill=getRandomColor()) # 模糊处理 image = image.filter(ImageFilter.BLUR) # 保存名字为验证码的图片 image.save("".join(code) + '.jpg', 'jpeg'); if __name__ == '__main__': getCodePiture()

选了两张随机生成的验证码图片:

,站群软件

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:荆门网站建设 http://jingmen.45qun.com