Skip to content

Possibility to add a logo in the middle #347

Description

@TWEagle

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

Activity

  1. stvnmbt commented on Nov 20, 2023

    @stvnmbt

    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
    
  2. nabelekt commented on Feb 17, 2024

    @nabelekt

    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.

  3. schulluk commented on May 14, 2024

    @schulluk
    Contributor

    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.

  4. nabelekt commented on May 14, 2024

    @nabelekt

    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.

  5. thomthom commented on Aug 27, 2024

    @thomthom

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

  6. schulluk commented on Aug 28, 2024

    @schulluk
    Contributor

    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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions