Python 二维码生成

Python 二维码生成

1、案例一

安装

pip install qrcode -i https://pypi.douban.com/simple

代码

# 导入模块
import qrcode

# 传入将要生成二维码的URL
img = qrcode.make('文本内容')
# 保存
img.show()

结果

2、案例二

代码

import qrcode

# 实例化QRCode生成qr对象
qr = qrcode.QRCode(
    version=1,
    error_correction=qrcode.constants.ERROR_CORRECT_H,
    box_size=10,
    border=2
)
# 传入数据
qr.add_data('显示内容....')
qr.make(fit=True)
# 生成二维码
img = qr.make_image()
# 展示二维码
img.show()

结果

3、案例三

代码

import qrcode
from PIL import Image


def create_qrcode(data, logo_path):
    qr = qrcode.QRCode(
        version=1,
        error_correction=qrcode.constants.ERROR_CORRECT_H,
        box_size=5,
        border=4,
    )

    # 添加数据
    qr.add_data(data)
    # 填充数据
    qr.make(fit=True)
    # 生成图片
    img = qr.make_image(fill_color="green", back_color="white")
    # 添加logo,打开logo照片
    icon = Image.open(logo_path)
    # 获取图片的宽高
    img_w, img_h = img.size
    # 参数设置logo的大小
    factor = 6
    size_w = int(img_w / factor)
    size_h = int(img_h / factor)
    icon_w, icon_h = icon.size
    if icon_w > size_w:
        icon_w = size_w
    if icon_h > size_h:
        icon_h = size_h
    # 重新设置logo的尺寸
    icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)
    # 得到画图的x,y坐标,居中显示
    w = int((img_w - icon_w) / 2)
    h = int((img_h - icon_h) / 2)
    # 黏贴logo照
    img.paste(icon, (w, h), mask=None)
    # 显示图片
    img.show()
    return img


if __name__ == '__main__':
    data = """
    世情薄,人情恶,雨送黄昏花易落。
    晓风干,泪痕残,欲笺心事,独语斜阑。
    难,难,难!人成各,今非昨,病魂常似秋千索。
    角声寒,夜阑珊,怕人寻问,咽泪装欢。
    瞒,瞒,瞒!
    """
    logo_path = 'images/1.jpg'
    create_qrcode(data, logo_path)

结果

4、案例四

安装

pip install pyzbar

代码

from PIL import Image
from pyzbar import pyzbar


# 二维码解码
def decode_qr_code():
    image = Image.open('./demo.png')
    return pyzbar.decode(image, symbols=[pyzbar.ZBarSymbol.QRCODE])


if __name__ == '__main__':
    print(decode_qr_code())
posted @ 2023-05-31 09:53  菜鸟程序员_python  阅读(1480)  评论(0)    收藏  举报