From d29a09bee752791c977088a2de7dd09e5f436116 Mon Sep 17 00:00:00 2001 From: David Lamparter Date: Sun, 15 Dec 2013 23:41:57 +0100 Subject: add border around QR codes --- ptlayout.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ptlayout.py b/ptlayout.py index 2ead50c..07266b3 100644 --- a/ptlayout.py +++ b/ptlayout.py @@ -83,6 +83,7 @@ class PTLQRCode(PTLayoutElem): super(PTLQRCode, self).__init__() self.qrcontent = '' self.hborder = 4 + self.vborder = 4 self.invert = False def properties(self): @@ -97,16 +98,16 @@ class PTLQRCode(PTLayoutElem): return self._render(cctx, False, h) def _render(self, cctx, sizeonly, h): - qr = qrcode.QRCode(border = 0) + qr = qrcode.QRCode(border = 0, error_correction = qrcode.ERROR_CORRECT_L) qr.add_data(self.qrcontent) qr.make(fit = True) qm = qr.get_matrix() qmlen = len(qm) - bpp = h / qmlen - if sizeonly: return (bpp * qmlen + self.hborder * 2, bpp * qmlen) + bpp = (h - self.vborder) / qmlen + if sizeonly: return (bpp * qmlen + self.hborder * 2, bpp * qmlen + self.vborder * 2) if self.invert: - cctx.rectangle(0, 0, bpp * qmlen + self.hborder * 2, h) + cctx.rectangle(0, 0, bpp * qmlen + self.hborder * 2, h + self.vborder * 2) cctx.fill() cctx.set_source_rgba(1.0, 1.0, 1.0, 0.0) -- cgit v1.2.1