图片验证码制作(附源码)

简介: 图片验证码制作(附源码)
from random import randint , choice
from PIL import Image , ImageDraw , ImageFont
# 制作随机验证码:数字,大小写字母
def get_random_code():
    # 随机数字
    number = str(randint(0,9))
    # 随机大写字母
    upper = chr(randint(65 , 90))
    # 随机小写字母
    lower = chr(randint(97 , 122))
    # 在大小字母和数字中随机获取一个
    code = choice([number , upper , lower])
    return code
# 获取随机颜色
def get_color():
    return (randint(0,255),randint(0,255),randint(0,255))
# 制作图片
def create_img():
    # 创建图片对象
    img = Image.new(mode='RGB' , size=(150 , 30) , color=get_color())
    # 创建画笔工具
    draw = ImageDraw.Draw(img)
    # 制作图片噪点
    # 噪点
    for i in range(70):
        # point([xy:图片坐标] , fill颜色)
        draw.point([randint(0,150) , randint(0,30)] , fill=get_color())
    # 噪线
    for i in range(10):
        # line([xy:起始和终点图片坐标] , fill颜色)
        draw.line([randint(0, 150), randint(0, 30),randint(0, 150), randint(0, 30)], fill=get_color())
    # 弧线
    x = randint(0, 150)
    y = randint(0, 30)
    for i in range(10):
        # line([xy:起始和终点图片坐标] , fill颜色)
        draw.arc([x, y, x + 2 , y + 2], 0, 90,fill=get_color())
    # 设置字体 , 导入字体文件, 设置字体大小
    font = ImageFont.truetype('fonts/Georgia.ttf' , 24)
    # 生成验证码
    for i in range(5):
        c = get_random_code()
        # 将获取到的验证码写如到图片中
        draw.text((10+30*i , 2) , text=c , fill=get_color() , font=font)
    # 图片保存成为文件
    f = open('yzm.png' , 'wb')
    # 将制作好的图片保存
    img.save(f , format='png')
    f.close()
create_img()


相关文章
|
1月前
|
存储 前端开发 Java
验证码案例 —— Kaptcha 插件介绍 后端生成验证码,前端展示并进行session验证(带完整前后端源码)
本文介绍了使用Kaptcha插件在SpringBoot项目中实现验证码的生成和验证,包括后端生成验证码、前端展示以及通过session进行验证码校验的完整前后端代码和配置过程。
79 0
验证码案例 —— Kaptcha 插件介绍 后端生成验证码,前端展示并进行session验证(带完整前后端源码)
|
1月前
|
数据采集 自然语言处理 Python
用 Python 生成并识别图片验证码
用 Python 生成并识别图片验证码
27 1
|
3月前
|
SQL 前端开发 NoSQL
SpringBoot+Vue 实现图片验证码功能需求
这篇文章介绍了如何在SpringBoot+Vue项目中实现图片验证码功能,包括后端生成与校验验证码的方法以及前端展示验证码的实现步骤。
SpringBoot+Vue 实现图片验证码功能需求
|
4月前
【node】图片验证码(svg-captcha)
【node】图片验证码(svg-captcha)
227 0
|
5月前
|
前端开发 JavaScript 数据库
四. Django项目之电商购物商城 -- 图片验证码生成
四. Django项目之电商购物商城 -- 图片验证码生成
|
6月前
|
数据采集 安全 前端开发
Java如何制作图片输入验证码
Java如何制作图片输入验证码
49 0
|
6月前
|
缓存 算法 Java
Java【算法 05】通过时间获取8位验证码(每两个小时生成一个)源码分享
Java【算法 05】通过时间获取8位验证码(每两个小时生成一个)源码分享
49 0
|
6月前
|
XML 算法 Java
Android 开发人脸识别之自动识别验证码功能讲解及实现(超详细 附源码)
Android 开发人脸识别之自动识别验证码功能讲解及实现(超详细 附源码)
232 0
|
6月前
|
XML Java Android开发
Android Studio App开发之利用图片加载框架Glide实现刷新验证码功能(附源码 简单易懂)
Android Studio App开发之利用图片加载框架Glide实现刷新验证码功能(附源码 简单易懂)
62 0
|
6月前
|
Java 数据安全/隐私保护
Java 图片验证码需求分析
Java 图片验证码需求分析
77 0