此文为自己学习归纳总结:
看此文前提有一定的python经验,忘记此文是从哪里找到的。要是楼主看到勿喷。
导入相关依赖,执行以下代码即可
# 构建一个简单的验证码import stringimport randomfrom PIL import Image, ImageFont, ImageDraw, ImageFilter# 生成随机数字或字母# number 以many参数做循环时,每循环一次,生成number对应个数的数字或字母# many 将要生成的数字或字母的个数def get_random(number, many): for i in range(many): res_str = "" for j in range(number): n = random.randint(1, 2) # n==1生成数字,n=2生成字母 if n == 1: num1 = random.randint(0, 9) res_str += str(num1) else: res_str += str(random.choice(string.ascii_letters)) return res_str# 随机颜色RGBdef random_color(): return random.randint(64, 255), random.randint(64, 255), random.randint(64, 255)# 随机颜色RGBdef random_bgcolor(): return random.randint(60, 200), random.randint(60, 200), random.randint(60, 200)if __name__ == '__main__': # 字体,字体大小 arial.ttf Font = ImageFont.truetype('arial.ttf', 36) # 图片尺寸 wIDth = 220 height = 60 # 图像生成 image = Image.new('RGB', (wIDth, height), color='red') # 创建绘图对象 draw = ImageDraw.Draw(image) # 填充背景色 for i in range(wIDth): for j in range(height): draw.point((i, j), fill=(246, 246, 246)) # 写入信息 for i in range(4): draw.text((60 * i + 10, 10), get_random(1, 4), Font=Font, fill=random_color()) # # 插入干扰线 # for i in range(2): # x1 = random.randint(0, wIDth) # y1 = random.randint(0, height) # x2 = random.randint(0, wIDth) # y2 = random.randint(0, height) # draw.line((x1, y1, x2, y2), fill=random_bgcolor(), wIDth=1) # 添加滤镜 image = image.filter(ImageFilter.BLUR) # 展示图片 # image.show() # 保存 image.save('./images/code.png')
总结
以上是内存溢出为你收集整理的python构建简单的验证码全部内容,希望文章能够帮你解决python构建简单的验证码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)