推荐两个库:qrcode 和 python-qrcode。
qrcode 运行在 Python 3 版本上,它可以玩出很多花样。例如能生成以下三种二维码图片:普通二维码、带图片的艺术二维码(黑白与彩色)、动态二维码(黑白与彩色)。它比较适合直接用于生成二维码图片的场景。
安装 qrcode 库可以使用 pip 方式。但是该库依赖 pillow、numpy 和imageio。因此,我们需要先安装依赖库,再安装 qrcode。
首先逐一安装需要的库
# 逐一安装pip install pillowpip install numpypip install imageiopip install myqr
python-qrcode
python-qrcode 相比 qrcode 要稍微逊色一点。不过它也有自己的特色。它支持生成矢量图,而且比较适合在代码中生成二维码的场景。
安装 python-qrcode 同样建议使用 pip 方式,安装命令如下:
pip install qrcode
安装完这些依赖的库以后就可以开工啦。下面是完整的代码:
#!/user/bin/Python3import qrcodefrom PIL import Imageimport matplotlib.pyplot as plt'''【红色】:red 【橙色】:orange 【黄色】:yellow 【绿】:green 【 蓝】:blue【紫】:purple 【灰色】:gray 【白色】:white 【粉红色】:pink 【黑色】:black【墨绿色】:dark green 【橙红色】:orange-red'''def getQRcode(strs, name):qr = qrcode.QRCode(version=1,error_correction=qrcode.constants.ERROR_CORRECT_L,box_size=10,border=2,)# 添加数据qr.add_data(strs)# 填充数据qr.make(fit=True)# 生成图片img = qr.make_image(fill_color="blue", back_color="white")img = img.convert("CMYK") # RGBA# 添加logoicon = Image.open("1233.png")# 获取图片的宽高img_w, img_h = img.sizefactor = 6size_w = int(img_w / factor)size_h = int(img_h / factor)icon_w, icon_h = icon.sizeif icon_w > size_w:icon_w = size_wif icon_h > size_h:icon_h = size_h# 重新设置logo的尺寸icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)w = int((img_w - icon_w) / 2)h = int((img_h - icon_h) / 2)img.paste(icon, (w, h), icon)# 显示图片plt.imshow(img)plt.show()img.save(name)return imgif __name__ == '__main__':getQRcode("/song?id=36990266&userid=112961323", '01.png')print('execute.....')
如果觉得《使用python 生成二维码 中间带logo》对你有帮助,请点赞、收藏,并留下你的观点哦!