Python 图形验证码库、二维码库的使用

图形验证码库  captcha

# 引入图形库
from captcha.image import ImageCaptcha
# 获取图像对象
image = ImageCaptcha(width=120, height=40, font_sizes=(30, 32, 36))
chars = "1234"
# 创建二维码对象
im = image.generate(chars)
# (1) 直接取值
img_val = im.getvalue()
# (2) 保存文件
file_name = "1.png"
im.save(file_name)

二维码库  qrcode

import qrcode
import os
# 创建二维码图像 err_level 0-3 错误由高到低 size每格像素大小
def make_qrcode(url="test", file_name="", size=8, err_level=0):
if err_level == 3:
error_correction = qrcode.constants.ERROR_CORRECT_L
elif err_level == 2:
error_correction = qrcode.constants.ERROR_CORRECT_M
elif err_level == 1:
error_correction = qrcode.constants.ERROR_CORRECT_Q
else:
error_correction = qrcode.constants.ERROR_CORRECT_H
# 初始化二维码对象
qr = qrcode.QRCode(
version=1,
error_correction=error_correction,
box_size=size,
border=4,
)
# 添加要生成二维码的连接
qr.add_data(url)
qr.make(fit=True)
file_content = file_name
# 设置填充颜色与背景色
img = qr.make_image(fill_color="black", back_color="white")
# 是否要保存文件
if file_name and isinstance(file_name, str):
# 保存文件
img.save(file_name)
else:
# 直接输出
b = io.BytesIO()
img.save(b, "PNG")
file_content = b.getvalue()
return file_content
# 直接调用即可
posted @   gz_xiaohai  阅读(513)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示