📜  在Python中使用 qrcode 生成二维码

📅  最后修改于: 2022-05-13 01:55:46.132000             🧑  作者: Mango

在Python中使用 qrcode 生成二维码

快速响应码二维码是一种二维条码,用于快速读取和较大的存储容量。它由排列在白色背景上的方形网格中的黑色方块组成。

Python有一个用于生成二维码图像的库“ qrcode ”。它可以使用 pip 安装。

pip install qrcode

方法:

  • 导入模块
  • 使用qrcode.make()创建 Qrcode 并返回一个 PilImage 对象。
  • 保存成图片

句法:

qrcode.make('Data to be encoded')

示例 1:

Python3
# Importing library
import qrcode
  
# Data to be encoded
data = 'QR Code using make() fuction'
  
# Encoding data using make() function
img = qrcode.make(data)
  
# Saving as an image file
img.save('MyQRCode1.png')


Python3
# Importing library
import qrcode
  
# Data to encode
data = "GeeksforGeeks"
  
# Creating an instance of QRCode class
qr = qrcode.QRCode(version = 1,
                   box_size = 10,
                   border = 5)
  
# Adding data to the instance 'qr'
qr.add_data(data)
  
qr.make(fit = True)
img = qr.make_image(fill_color = 'red',
                    back_color = 'white')
  
img.save('MyQRCode2.png')


输出:

示例 2:

我们还可以使用QRCode类来创建二维码并更改其详细信息。它采用以下参数:

  • 版本:该参数是一个从 1 到 40 的整数,用于控制二维码的大小(最小的版本 1,是一个 21×21 的矩阵)。
  • error_correction:该参数控制用于二维码的纠错。有以下四个常量可用于此:
    • qrcode.constants.ERROR_CORRECT_L 可以纠正大约 7% 或更少的错误。
    • qrcode.constants.ERROR_CORRECT_M (默认) 可以纠正大约 15% 或更少的错误。
    • qrcode.constants.ERROR_CORRECT_Q 可以纠正大约 25% 或更少的错误。
    • qrcode.constants.ERROR_CORRECT_H 可以纠正大约 30% 或更少的错误。
  • box_size:该参数控制二维码的每个“盒子”有多少像素。
  • border: border 参数控制边框应该有多少个框厚(默认为 4,这是规范中的最小值)。
  • add_data():这个 方法是 用于向 QRCode 对象添加数据。它将要编码的数据作为参数。
  • make():这种带有(fit=True)的方法可确保利用 QR 码的整个维度,即使我们的输入数据可以放入较少数量的框。
  • make_image():这个 方法用于将 QRCode 对象转换为图像文件。它需要fill_colorback_color可选参数来设置前景色和背景色。

下面是实现:

蟒蛇3

# Importing library
import qrcode
  
# Data to encode
data = "GeeksforGeeks"
  
# Creating an instance of QRCode class
qr = qrcode.QRCode(version = 1,
                   box_size = 10,
                   border = 5)
  
# Adding data to the instance 'qr'
qr.add_data(data)
  
qr.make(fit = True)
img = qr.make_image(fill_color = 'red',
                    back_color = 'white')
  
img.save('MyQRCode2.png')

输出 :