📜  如何使用Python生成带有自定义徽标的二维码?

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

如何使用Python生成带有自定义徽标的二维码?

在本文中,我们将讨论如何生成以图像为中心的二维码。我们将生成任何文本、链接等的 QR 码,并将图像放在该 QR 码的中心,使其代表品牌 QR 码

所需模块:

  • Pillow 它是一个轻量级的图像处理工具,有助于编辑、创建和保存图像。 Pillow 支持多种图像文件格式,包括 BMP、PNG、JPEG 和 TIFF。可以使用以下命令安装它:
pip install Pillow
  • QRcode:它是一个用于生成二维码的外部Python库。可以使用以下命令安装它:
pip install qrcode

使用的图像:

Python3
# import modules
import qrcode
from PIL import Image
  
# taking image which user wants 
# in the QR code center
Logo_link = 'g4g.jpg'
  
logo = Image.open(Logo_link)
  
# taking base width
basewidth = 100
  
# adjust image size
wpercent = (basewidth/float(logo.size[0]))
hsize = int((float(logo.size[1])*float(wpercent)))
logo = logo.resize((basewidth, hsize), Image.ANTIALIAS)
QRcode = qrcode.QRCode(
    error_correction=qrcode.constants.ERROR_CORRECT_H
)
  
# taking url or text
url = 'https://www.geeksforgeeks.org/'
  
# addingg URL or text to QRcode
QRcode.add_data(url)
  
# generating QR code
QRcode.make()
  
# taking color name from user
QRcolor = 'Green'
  
# adding color to QR code
QRimg = QRcode.make_image(
    fill_color=QRcolor, back_color="white").convert('RGB')
  
# set size of QR code
pos = ((QRimg.size[0] - logo.size[0]) // 2,
       (QRimg.size[1] - logo.size[1]) // 2)
QRimg.paste(logo, pos)
  
# save the QR code generated
QRimg.save('gfg_QR.png')
  
print('QR code generated!')


输出:

QR code generated!

二维码:

解释:

  • 当您运行程序时,它将获取输入图像和基本宽度。之后,图像将被重塑并创建一个二维码对象
  • 使用QRcode 对象将分配各种属性,例如数据或 URL 将使用 add_data() 方法链接到 QR 码,将使用make_image()方法分配 QR 码的颜色,并将重塑的图像放置在使用paste()方法的二维码。
  • 最后,生成的二维码将使用save()方法保存在给定位置。