Neste artigo, discutiremos como gerar um código QR com uma imagem no centro. Vamos gerar um código QR de qualquer texto, link, etc., e colocar uma imagem no centro desse código QR de forma que represente um código QR com a marca

Módulos necessários:

  • Pillow : É uma ferramenta leve de processamento de imagem que auxilia na edição, criação e salvamento de imagens. O Pillow oferece suporte a muitos formatos de arquivo de imagem, incluindo BMP, PNG, JPEG e TIFF. Ele pode ser instalado usando o comando abaixo:
pip install Pillow
  • QRcode: é uma biblioteca python externa usada para gerar códigos QR. Ele pode ser instalado usando o comando abaixo:
pip install qrcode

Imagem usada:

# 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!')

Saída:

QR code generated!

Código QR:

Explicação:

  • Quando você executa o programa, ele obtém a imagem de entrada e a largura da base. Depois disso, a imagem será remodelada e um objeto QRcode será criado. 
  • Usando o objeto QRcode, vários atributos serão atribuídos, como dados ou URL, serão vinculados ao código QR usando o método add_data() , a cor do código QR será atribuída usando o método make_image() e a imagem remodelada será colocada no Código QR usando o método paste()
  • Finalmente, o código QR gerado será salvo em um determinado local usando o método save() .

 Atenção geek! Fortaleça suas bases com o Python Programming Foundation Course e aprenda o básico.