zoukankan      html  css  js  c++  java
  • Python中的PIL生成随机验证码

    github博客传送门
    csdn博客传送门

    字体包和源码文件链接
    https://download.csdn.net/download/zhanghao3389/10663672

    生成一个随机的大写字母验证码图片

    from PIL import Image, ImageDraw, ImageFont
    #               图片    图片生成,画图  字体包
    import random                           # 导入random包
    
    
    def ascii():                            # 随机生成一个字母
        return chr(random.randint(65, 90))  # 将生成的整数 65-90 转换ascii码 为字母
    
    
    def randomcolor():                      # 随机生成颜色 三个通道
                                            # 生成三个随机的像素值 在64-255之间的值
        return (random.randint(64, 255), random.randint(64, 255), random.randint(64, 255))  
    
    
    width = 250                             # 图片的边界 宽
    height = 60                             # 图片的边界 高
    # 新建一个      RGB 图片 长宽(width,height)的 (255,255,255)白底
    image = Image.new("RGB", (width, height), (255, 255, 255))
    # 导入一个字体包 创建font对象 字体对象  # 字体包自己在自己 C 盘搜索 .ttf 也可搜索出来自己需要的
    font = ImageFont.truetype("Merriweather-Black.ttf", 36)  
    draw = ImageDraw.Draw(image)            # 创建一个可以在给定图像上绘图的对象。
    # 在白底的图片上 填充像素
    for x in range(width):                  # 遍历图片的像素 宽 的次数
        for y in range(height):             # 遍历图片的像素 高 的次数
            draw.point((x, y), fill=randomcolor())  # 填充遍历的 x,y 坐标 填入一个 随机的 rgb值
    
    # 在填充像素后的图片上 填充文字
    for i in range(4):
        #            设置间距          随机字母    字体包         随机颜色
        draw.text((60 * i + 10, 10), ascii(), font=font, fill=randomcolor())
    image.show()  # 展示这张图片
    
  • 相关阅读:
    spring的bean的属性注入
    spring中bean的常用属性
    spring Code(spring 核心)
    mybatis的缓存
    mybatis 调用存储过程
    mybatis的动态sql
    mybatis的关系映射
    mybatis添加信息自动生成主键
    mybatis传递参数的方法
    如何编写跨平台的Java代码
  • 原文地址:https://www.cnblogs.com/Mrzhang3389/p/9639944.html
Copyright © 2011-2022 走看看