python中的qrcode库

lemon Lv4

1. 核心功能

  • 生成二维码:将文本、网址等信息编码为二维码图片,支持自定义尺寸、颜色、容错率等。
  • 依赖库:需配合 Pillow(PIL)库生成图像,安装时需使用 pip install qrcode[pil]

2. 常用类与方法

  • QRCode 类

    • 初始化
      1
      2
      3
      4
      5
      6
      qr = qrcode.QRCode(
      version=1, # 二维码尺寸(1-40),值越大尺寸越大
      error_correction=qrcode.constants.ERROR_CORRECT_H, # 容错率(L/M/Q/H)
      box_size=10, # 每个点的像素大小
      border=4 # 边框宽度(单位:点)
      )
    • 添加数据
      1
      qr.add_data("https://example.com")  # 支持文本、网址等
    • 生成二维码
      1
      qr.make(fit=True)  # fit=True 自动调整尺寸以适应数据
    • 生成图像
      1
      2
      3
      img = qr.make_image(fill_color="black", back_color="white")  # 自定义颜色
      img.save("qrcode.png") # 保存为文件
      img.show() # 显示二维码
  • 快捷方法

    1
    2
    3
    # 快速生成二维码(自动配置参数)
    img = qrcode.make("Hello, QR Code!", fill_color="blue", back_color="yellow")
    img.save("simple_qrcode.png")

3. 使用示例

  • 基础示例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    import qrcode

    # 创建二维码对象
    qr = qrcode.QRCode(version=2, error_correction=qrcode.constants.ERROR_CORRECT_H)
    qr.add_data("https://github.com")
    qr.make(fit=True)

    # 生成并保存图像
    img = qr.make_image(fill_color="green", back_color="white")
    img.save("github_qrcode.png")
  • 添加 Logo

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    from PIL import Image

    # 生成二维码图像
    qr = qrcode.QRCode(version=5, error_correction=qrcode.constants.ERROR_CORRECT_H)
    qr.add_data("https://example.com")
    qr.make(fit=True)
    img = qr.make_image(fill_color="black", back_color="white").convert("RGBA")

    # 打开 Logo 并调整大小
    logo = Image.open("logo.png")
    logo = logo.resize((50, 50))

    # 将 Logo 粘贴到二维码中心
    pos = ((img.size[0] - logo.size[0]) // 2, (img.size[1] - logo.size[1]) // 2)
    img.paste(logo, pos, logo)

    # 保存结果
    img.save("qrcode_with_logo.png")

4. 注意事项

  • 安装依赖:需安装 qrcodePillow 库,使用命令 pip install qrcode[pil]
  • 容错率选择ERROR_CORRECT_H 容错率最高(约30%),但二维码尺寸较大。
  • 颜色对比度:自定义颜色时,需确保前景色与背景色有足够对比度,以便扫描识别。
  • 二维码尺寸version 参数控制尺寸,值越大可存储信息越多,但扫描速度可能变慢。

总结

  • 创建二维码:通过 QRCode 类配置参数(尺寸、容错率、颜色等)。
  • 添加数据:使用 add_data() 方法添加要编码的信息。
  • 生成图像:调用 make_image() 生成二维码图片,支持自定义颜色。
  • 保存/显示:用 save() 保存为文件,show() 直接显示二维码。
  • 标题: python中的qrcode库
  • 作者: lemon
  • 创建于 : 2025-04-12 22:04:56
  • 更新于 : 2025-04-12 22:08:23
  • 链接: https://lemon2003.github.io/post/20250412220456.html
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论