Python中的PIL生成随机验证码

github博客传送门
博客园传送门

字体包和源码文件链接
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()  # 展示这张图片
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值