如何使用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()方法保存在给定位置。