Python使用MyQR生成整合背景图片的静态/动态二维码

在日常开发和分享中,二维码已成为连接信息的重要载体。Python 的 MyQR 库不仅可以生成普通二维码,还支持将二维码与背景图片整合,甚至可以生成动态 GIF 二维码,使二维码更加美观、个性化。
1
安装依赖

输入以下命令 进行安装依赖
pip install MyQR
2
参数详解

参数 | 类型 | 说明 | 示例值 |
words | str | 二维码内容 | 地址或者文字 |
picture | str | 背景图路径 | back.gif |
colorized | bool | 是否彩色 | true |
contrast | float | 对比度(0-2) | 1 |
brightness | float | 亮度(0-2) | 1 |
save_dir | str | 保存路径 | 'path' |
version | int | 二维码密度(1-40) | 1 |
3
静态二维码代码示例

from MyQR import myqr
import os
# 使用 MyQR 生成带背景图的彩色二维码
version, level, qr_name = myqr.run(
words="https://www.baidu.com", # 二维码内容,这里是网址,扫码后会跳转到百度
version=40, # 二维码版本(1~40),数字越大,二维码矩阵越大,信息点越多,图片也更清晰
level='H', # 容错率等级:L (7%),M (15%),Q (25%),H (30%),H为最高容错率
picture='/Users/gjq/Downloads/1.png',
# 背景图路径,支持 jpg/png/gif,必须是本地文件路径
# 背景图会与二维码叠加,二维码透明部分显示背景
colorized=True, # 是否彩色二维码:True 彩色 / False 黑白
contrast=1.0, # 背景图对比度,默认 1.0,数值越大对比度越高
brightness=1.0, # 背景图亮度,默认 1.0,数值越大越亮
save_name='test.png', # 保存文件名,建议用 PNG 避免 JPEG 不支持透明通道报错
save_dir='./' # 保存目录,这里是当前目录
)
效果如图1
4
动图二维码




12
图2所示 gif会生成的比较慢 大家耐心等待
from MyQR import myqr
import os
version, level, qr_name = myqr.run(
words="https://www.baidu.com",
version=10,
level='H',
picture='/Users/gjq/Downloads/20160310211404_hHPM8.gif',
colorized=True,
contrast=1.0,
brightness=1.0,
save_name='1.gif',
save_dir='/Users/gjq/Downloads/'
)
5
动态速度控制






1234
如果动图每一帧的时常差别过大会出问题 所以这个代码是调整时常的
- 首先如图1所示 安装依赖 pip install pillow
- 代码示例 如图2所示
from PIL import Image
with Image.open('input.gif') as img:
img.save('adjusted.gif',
save_all=True,
duration=100, # 每帧时长(ms)
loop=0)
- 效果为 图3 图4 前后对比 大家可以看出来图四变慢了 因为每一帧的时常都设置成了100毫秒
6
官方地址

https://github.com/x-hw/amazing-qr?tab=readme-ov-file#terminal-way
这个是MyQR 的github官方地址 大家可以自行了解一下








更多相关项目
猜你喜欢
评论/提问(已发布 0 条)

