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


崧峻
原创
发布时间: 2025-08-28 18:30:48 | 阅读数 0收藏数 0评论数 0
封面
在日常开发和分享中,二维码已成为连接信息的重要载体。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

动图二维码

图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

动态速度控制

如果动图每一帧的时常差别过大会出问题 所以这个代码是调整时常的


  1. 首先如图1所示 安装依赖 pip install pillow
  2. 代码示例 如图2所示
from PIL import Image

with Image.open('input.gif') as img:
img.save('adjusted.gif',
save_all=True,
duration=100, # 每帧时长(ms)
loop=0)
  1. 效果为 图3 图4 前后对比 大家可以看出来图四变慢了 因为每一帧的时常都设置成了100毫秒
6

官方地址

https://github.com/x-hw/amazing-qr?tab=readme-ov-file#terminal-way

这个是MyQR 的github官方地址 大家可以自行了解一下

阅读记录0
点赞0
收藏0
禁止 本文未经作者允许授权,禁止转载
猜你喜欢
评论/提问(已发布 0 条)
评论 评论
收藏 收藏
分享 分享
pdf下载 下载