方式一:qrcode
pip install qrcode
import qrcode
"""
qrcode : 二维码生成库 https://github.com/lincolnloop/python-qrcode
"""
def save_qrcode(text, pic_name, fill_color="black", back_color="white"):
"""
二维码生成方法
:param text:
:param pic_name:
:param fill_color:
:param back_color:
:return:
"""
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4
)
if isinstance(text, str):
qr.add_data(text)
qr.make(fit=True)
img = qr.make_image(fill_color=fill_color, back_color=back_color)
img.save(pic_name)
return True
else:
print("your input arg: text's type is not str.")
return False
方式二:myqr
可生成普通二维码、带图片的艺术二维码(黑白与彩色)、动态二维码(黑白与彩色)
pip install MyQR
"""
myqr: 二维码生成库 https://github.com/x-hw/amazing-qr/blob/master/README-cn.md
"""
import os
from MyQR import myqr
def save_myqrcode(content, pic_name, backgroud_pic=None, pic_path=os.getcwd(), colorized=True):
"""
使用 myqr 生成二维码,可带有颜色和背景图
:param content: 二维码内容
:param pic_name: 保存的图片名字
:param backgroud_pic: 二维码背景图地址
:param pic_path: 保存的图片地址,默认是当前目录
:param colorized: 是否启用彩色
:return: 返回图片保存地址
"""
if backgroud_pic:
if backgroud_pic.split(".")[-1] == "gif":
pic_name = pic_name.split(".")[0] + ".gif"
result = myqr.run(words=content,
colorized=colorized,
save_name=pic_name,
save_dir=pic_path,
picture=backgroud_pic,
contrast=1.0,
brightness=1.0,
version=1,
level="H"
)
return result[-1]
|