From e340f3fe9f0c35893ee6a16e057bd0b4a3d2149a Mon Sep 17 00:00:00 2001 From: Sander van Grieken Date: Tue, 14 Jun 2022 16:28:56 +0200 Subject: [PATCH] make QR always fit within 400px --- electrum/gui/qml/qeqr.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/electrum/gui/qml/qeqr.py b/electrum/gui/qml/qeqr.py index d2e23f347..dabc5bcac 100644 --- a/electrum/gui/qml/qeqr.py +++ b/electrum/gui/qml/qeqr.py @@ -4,6 +4,7 @@ from PyQt5.QtQuick import QQuickImageProvider import asyncio import qrcode +import math from PIL import Image, ImageQt @@ -127,6 +128,11 @@ class QEQRImageProvider(QQuickImageProvider): self._logger.debug('QR requested for %s' % qstr) qr = qrcode.QRCode(version=1, box_size=6, border=2) qr.add_data(qstr) + + # calculate best box_size, aim for 400 px + modules = 17 + 4 * qr.best_fit() + qr.box_size = math.floor(400/(modules+2)) + qr.make(fit=True) pimg = qr.make_image(fill_color='black', back_color='white')