MyQR是Python的一个库,它可以用来方便地生成艺术、自定义和极简QR码。MyQR可以生成黑白、彩色、GIF动图等多种样式的QR码。
安装MyQr
pip install MyQr
1.生成普通的黑白二维码
from MyQr import myqr
MyQR.run('https://www.python.org/',save_name=r"D:\demo_png.png")
在上面我们直接使用了myqr.run()方法,并且使用save_name参数指定了我们保存二维码图片的位置,对我们生成的二维码扫码后我们就可以正常打开python的官方网站
当前还有其他的一些基础的内置参数去配置生成的二维码,大家可以自己玩一玩
2.生成带图片的二维码
这里我就用我随机生成一个Python都知道的logo作为图片背景
接下来我们开始制作
from MyQR import myqr
myqr.run(
words='https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzkwMDE4NzE5OQ==&scene=124#wechat_redirect',
colorized=True,
save_name=r"D:\demo_png.png",
picture=r"python_know_logo.png",
contrast=1.5,
)
生成的带图片二维码效果如下:
这里我是随便用的一张图片,所以可能生成出来的样式可能有点难看,不过你们下面去尝试的时候可以使用一些好看的图片试试
3.生成GIF动图二维码
生成一张gif动态的二维码图片,我们只需要将picture参数中的静态图片替换为gif动态图片就可以了,这里我使用的gif动态图片是这个
待补充gif二维码
看看制作成动态gif动态二维码后的效果
from MyQR import myqr
myqr.run(
words='https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzkwMDE4NzE5OQ==&scene=124#wechat_redirect',
colorized=True,
save_name=r"D:\demo_png.gif",
picture=r"xiaohuangren.gif",
contrast=1.5,
)
原理简析
MyQR 库的核心原理是利用 Pillow 图像库生成QR码图片,并通过 shipyard 库计算QR码颜色信息。主要步骤包括:
- 输入内容字符串
- 使用 shipyard 将字符串处理为可存储于QR码中的字节信息
- 根据参数设置QR码样式
- 使用 Pillow 绘制初始 QR码图片
- 若设置彩色,则计算颜色填充并生成彩色QR码
- 若设置了图片,则读取图像嵌入QR码
- 根据保存设置,保存目标图片或GIF动图