题目链接:https://github.com/Show-Me-the-Code/show-me-the-code
代码github链接:https://github.com/wjsaya/python_spider_learn/tree/master/python_daily
个人博客地址:https://wjsaya.github.io
第 0010 题: 使用 Python 生成类似于下图中的字母验证码图片

思路:

  1. 根据指定位数获取随机验证码字符串:直接用random模块即可。
  2. 把字符串转换成图片:通过PIL库画图。

代码:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Author:  wjsaya(http://www.wjsaya.top)
# @Date:    2018-08-10 00:01:32
# @Last Modified by:    wjsaya(http://www.wjsaya.top)
# @Last Modified time:  2018-08-10 00:46:47 import random
import string
from PIL import Image, ImageFont, ImageDraw, ImageFilterdef get_str():'''获取单个随机字符string.digits + string.ascii_letters = 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'''return random.choice(string.digits + string.ascii_letters)def get_color():'''返回颜色元组'''return (random.randint(64,200),random.randint(64,200),random.randint(64,200))def get_pic(num=4):'''生成指定验证码个数的验证码图片,默认为4个,每个的大小均为60*60'''heigh = 60width = heigh * numimage = Image.new('RGB', (width, heigh), (255, 255, 255))draw = ImageDraw.Draw(image)font = ImageFont.truetype('ariblk.ttf',44)# 创建图片,画布,以及字体对象for  x in range(width):for y in range(heigh):draw.point((x,y),fill=get_color())# 画布随机加噪点for t in range(num):draw.text((60 * t + 10, 0), get_str(), font=font, fill=get_color())# 随机获取num个字符,使用指定字体,使用随机颜色image = image.filter(ImageFilter.SMOOTH)# 模糊处理图片image.save('vercode.png')if __name__ == '__main__':num = 4get_pic(num)

效果图:

[python每日一练]--0010:生成验证码图片相关推荐

  1. 用python实现生成验证码图片

    验证码在网络开发应用中非常重要,广泛应用于用户注册.登录.留言.购物和网络支付中,可以有效阻止恶意用户频繁提交非法数据.图片验证码是比较传统的验证码方式,图片除了经过平移.旋转.错切.缩放等基本变换的 ...

  2. Python 生成验证码图片

    使用pillow生成验证码图片 其中的Arial.ttf可以百度下载 from PIL import Image,ImageDraw,ImageFont,ImageFilter import rand ...

  3. python 编程一日一练-Python每日一练0022

    问题 你想在一个文件里每次读入固定大小的字节,比如每次读入4个字节并转成int,或者每次读入x个字节并进行结构化,例如: l = [5, 2, 4, 1, 2, 4, 5, 6, 8] with op ...

  4. Java Web学习总结(6)——通过Servlet生成验证码图片

    2019独角兽企业重金招聘Python工程师标准>>> 一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下: 创建一个DrawIma ...

  5. PIL应用之生成验证码图片

    PIL应用之生成验证码图片 - 残阳似血的博客 PIL应用之生成验证码图片 位于分类 我爱Python 现在的网页中,为了防止机器人提交表单,图片验证码是很常见的应对手段之一.这里就不详细介绍了,相信 ...

  6. python每日一练名片管理程序_Python每日一练0022

    问题 你想在一个文件里每次读入固定大小的字节,比如每次读入4个字节并转成int,或者每次读入x个字节并进行结构化,例如: l = [5, 2, 4, 1, 2, 4, 5, 6, 8] with op ...

  7. Python使用Pillow(PIL)库实现验证码图片

    Python使用Pillow(PIL)库实现验证码图片 Pillow库有很多用途,本文使用Pillow来生成随机的验证码图片. Pillow的用法参考:https://blog.csdn.net/we ...

  8. Python每日一练0023

    问题 如何判断一个文件是否存在 解决方案 这个问题可以分成几类问题 如果这里的文件指的是文件或目录,我们可以用os.path.exists()方法 >>> import os > ...

  9. 转: 通过Servlet生成验证码图片

    孤傲苍狼 只为成功找方法,不为失败找借口! javaweb学习总结(九)-- 通过Servlet生成验证码图片 一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedIma ...

最新文章

  1. 敏捷开发中Scrum方法
  2. 彻底理解cookie,session,localStorage(附代码)
  3. java的list类
  4. 【转】为什么要写技术博
  5. jquery获取java对象的属性_jQuery - 获得内容和属性
  6. sql 为什么要用where 1=1或者where 1 =0 ?
  7. c/c++教程 - 1.9 指针 空指针 野指针 const修饰指针 指针常量 常量指针 指针和数组 指针和函数
  8. scala 连接符_Scala标识符示例教程
  9. 重装ubuntu系统后VS Code远程连接失败
  10. 测试人员该学习哪些Linux知识
  11. java中返回怎样返回,java-如何显示方法是否可以返回nu
  12. 游戏鼠标的dpi测试软件,有什么软件可以测试鼠标的dpi或着说cpi – 手机爱问
  13. python制作adobe photoshop插件_Python 图像处理这样学 小白也易懂,还能顺便学习 Photoshop...
  14. servlet中session的使用
  15. linux的grub是什么意思,grub是什么意思
  16. JavaScript截取文件扩展名
  17. 《东周列国志》第三十七回 介子推守志焚绵上 太叔带怙宠入宫中
  18. hashCode() vs equals() vs ==
  19. 浏览器(1):CSDN的浏览器助手使用推荐
  20. 聚焦|成亮:离元宇宙最近的技术—数字孪生

热门文章

  1. LeetCode 5926. 买票需要的时间
  2. 三相桥式PWM整流电路 整流电路采用全控型三相桥式整流
  3. 毕设 JAVA.JSP美食网站论文
  4. ILOVEYOU代码
  5. Spring事务捕获异常后依旧回滚
  6. DataFrame某一列使用append追加数据为什么为空
  7. mysql插入数据出现\xF0\x9F\x92\x94‘ for column ‘name‘ at row 1的问题
  8. 2021/12/7 HttpOnly绕过,xss-labs
  9. React Native 环境搭建
  10. 禁止手机端浏览器双击放大功能