Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possibility to add a logo in the middle #347

Open
TWEagle opened this issue Nov 20, 2023 · 6 comments
Open

Possibility to add a logo in the middle #347

TWEagle opened this issue Nov 20, 2023 · 6 comments

Comments

@TWEagle
Copy link

TWEagle commented Nov 20, 2023

Is it possible to add an image in the center of the qr-code?

@stvnmbt
Copy link

stvnmbt commented Nov 20, 2023

Yes. From https://github.com/lincolnloop/python-qrcode#styled-image

import qrcode
from qrcode.image.styledpil import StyledPilImage
from qrcode.image.styles.moduledrawers.pil import RoundedModuleDrawer
from qrcode.image.styles.colormasks import RadialGradiantColorMask

qr = qrcode.QRCode(error_correction=qrcode.constants.ERROR_CORRECT_L)
qr.add_data('Some data')

img_1 = qr.make_image(image_factory=StyledPilImage, module_drawer=RoundedModuleDrawer())
img_2 = qr.make_image(image_factory=StyledPilImage, color_mask=RadialGradiantColorMask())
img_3 = qr.make_image(image_factory=StyledPilImage, embeded_image_path="/path/to/image.png") # this is what you want

@nabelekt
Copy link

Is there a way to control the relative size of the image? E.g., I want the width of the logo to be 40% the width of the QR code.

@lsgd
Copy link
Contributor

lsgd commented May 14, 2024

Is there a way to control the relative size of the image?

Yes, with pull request #360 this is now possible. Simply set embeded_image_ratio with a value between 0 and 1. Default is 0.25.

@nabelekt
Copy link

Yes, with pull request #360 this is now possible. Simply set embeded_image_ratio with a value between 0 and 1. Default is 0.25.

Thanks! I will try it out with the next release.
FWIW, I don't know why I put my question in this issue. Seems separate. Either way, this issue can probably be closed.

@thomthom
Copy link

I seems that you need to turn up the error correction in order for QR codes with images in the middle to work?

@lsgd
Copy link
Contributor

lsgd commented Aug 28, 2024

That's correct.
If you generate the QR code with an image and without an image, you will see that the QR code is the same except that the image crops out some part.

Because the image removes some information you need to use a higher error correction.
Note, that if the added image is too large even the highest error correction might not be sufficient anymore.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants