一、官方文档

https://pypi.org/project/qrcode/

https://pypi.org/project/MyQR/

二、下载包

pip install qrcode #方法多,体量小

pip install myqr #操作简单,功能强大

三、代码

qrcode 一行字二维码

import qrcode

qrcode.make("不睡觉干嘛呢").get_image().show()   #设置URL必须添加http://

qrcode 一行字二维码

import qrcode

text = input("输入文字或URL:")
img =qrcode.make(text)
img.save()                            #保存图片至本地目录,可以设定路径
img.show()

qrcode 生成 logo 二维码

from PIL import Image
import qrcode,os

def create_qrcode(url,qrcodename):
    qr = qrcode.QRCode(
        version=1,  # 设置容错率为最高
        error_correction=qrcode.ERROR_CORRECT_H, # 用于控制二维码的错误纠正程度
        box_size=8, # 控制二维码中每个格子的像素数,默认为10
        border=1, # 二维码四周留白,包含的格子数,默认为4
        #image_factory=None,  保存在模块根目录的image文件夹下
        #mask_pattern=None
    )

    qr.add_data(url) # QRCode.add_data(data)函数添加数据
    qr.make(fit=True)  # QRCode.make(fit=True)函数生成图片

    img = qr.make_image()
    img = img.convert("RGBA") # 二维码设为彩色
    logo = Image.open('xx.jpg') # 传gif生成的二维码也是没有动态效果的

    w , h = img.size
    logo_w , logo_h = logo.size
    factor = 4   # 默认logo最大设为图片的四分之一
    s_w = int(w / factor)
    s_h = int(h / factor)
    if logo_w > s_w or logo_h > s_h:
        logo_w = s_w
        logo_h = s_h

    logo = logo.resize((logo_w, logo_h), Image.ANTIALIAS)
    l_w = int((w - logo_w) / 2)
    l_h = int((h - logo_h) / 2)
    logo = logo.convert("RGBA")
    img.paste(logo, (l_w, l_h), logo)
    img.show()
    img.save(os.getcwd()+'/' + qrcodename + '.png', quality=100)

myqr 动态二维码

相关参数:
    words:二维码内容,链接或者句子
    version:二维码大小,范围为[1,40]
    level:二维码纠错级别,范围为{L,M,Q,H},H为最高级,默认。
    picture:自定义二维码背景图,支持格式为 .jpg,.png,.bmp,.gif,默认为黑白色
    colorized:二维码背景颜色,默认为 False,即黑白色
    contrast:对比度,值越高对比度越高,默认为 1.0
    brightness:亮度,值越高亮度越高,默认为 1.0,值常和对比度相同
    save_name:二维码名称,默认为 qrcode.png
    save_dir:二维码路径,默认为程序工作路径
# 调用库
from MyQR import myqr

# 函数部分
myqr.run(
    # 网址
    words='https://wztlink1013.com',
    # 控制边长,范围是1到40,数字越大边长越大,默认边长是取决于你输入的信息的长度和使用的纠错等级
    version=5,
    # 控制纠错水平,范围是L、M、Q、H,从左到右依次升高
    level='H',
    # 将QR二维码图像与一张同目录下的图片相结合,此处设置该图片,可以是gif
    picture='./input/girl.gif',
    # 默认是黑白(False),可以选择彩色(True)
    colorized=True,
    # 调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0。
    contrast=1.0,
    # 调节图片的亮度,用法与contrast相同
    brightness=1.0,
    # 输出文件名,格式可以是jpg,png,bmp,gif
    save_name='girl.gif',
    save_dir='./output')