commit 84eb08f4fbd23abfc49237af96f47910871555a9 parent 2dfb94bc72453507ab93d4bd93bfc1542ee28246 Author: Marc Stibane <marc@taler.net> Date: Sat, 18 Apr 2026 08:17:49 +0200 Improve QR Diffstat:
4 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/TalerWallet1/Resources/Assets.xcassets/taler-logo-qr.imageset/taler-logo-qr.svg b/TalerWallet1/Resources/Assets.xcassets/taler-logo-qr.imageset/taler-logo-qr.svg @@ -1,9 +1,9 @@ <?xml version="1.0"?> <svg viewBox="-20 20 240 180" xmlns="http://www.w3.org/2000/svg"> -<rect x="-15" y="20" width="230" height="160" rx="50" ry="50" fill="white"/> +<rect x="-15" y="20" width="240" height="180" rx="50" ry="50" fill="white"/> <g id="aa" style="fill:#0042b3;fill-rule:evenodd"> <!-- 90% --> -<path d="M57.6 43.4 +<path d="M62.6 53.4 c-25.5 4.3-44.9 28-44.9 56.5 0 31.5 23.9 57.2 53.3 57.2 s53.3-25.6 53.3-57.2 c0-15.4-5.7-29.3-14.9-39.6 @@ -11,11 +11,11 @@ c1.6-1.9 6.3-4.8 6.4-4.6 10 11.6 16.1 27.2 16.1 44.2 0 36-27.3 65.3-60.9 65.3-33 s27.3-65.3 60.9-65.3 c1.7 0 5.7.3 5.5.4-4.3 2.3-9.7 5.4-13.9 8.5"/> <!-- 40% --> -<path d="M60.8 149.8 +<path d="M65.8 159.8 c-13.4-12-22-29.9-22-50 0-36 27.4-65.2 61.1-65.2 1.5 0 3 .1 4.5.2 a67.6 67.6 0 0 0-13.4 8.6 c-25.4 4.5-44.7 28.1-44.7 56.4 0 21.3 11 40 27.3 49.8 a45.9 45.9 0 0 1-12.7.3z"/> </g> -<use transform="translate(200,200) rotate(180)" href="#aa"/> +<use transform="translate(210,220) rotate(180)" href="#aa"/> </svg> \ No newline at end of file diff --git a/TalerWallet1/Views/HelperViews/QRCodeDetailView.swift b/TalerWallet1/Views/HelperViews/QRCodeDetailView.swift @@ -68,8 +68,8 @@ struct QRCodeDetailView: View { let scanLong = incoming ? (requesting(amountStr.0), requesting(amountStr.1)) : (sending(amountStr.0), sending(amountStr.1)) let logo = Image(TALER_LOGO_QR) - let size = 240.0 - let logoSize = 88.0 + let size = 276.0 // 240.0 + let logoSize = 72.0 // 88 is too big, Android phones don't recognize the QR code anymore let qrView = QRGeneratorView(text: talerURI, size: size, logo: logo, logoSize: logoSize, image: $qrImage) .frame(maxWidth: .infinity, alignment: .center) if #available(iOS 17.7, *) { diff --git a/TalerWallet1/Views/HelperViews/QRGeneratorView.swift b/TalerWallet1/Views/HelperViews/QRGeneratorView.swift @@ -63,6 +63,7 @@ struct QRGeneratorView: View { guard let filter = CIFilter(name: "CIQRCodeGenerator") else { return nil } let data = text.data(using: .ascii, allowLossyConversion: false) filter.setValue(data, forKey: "inputMessage") + filter.setValue("Q", forKey: "inputCorrectionLevel") // 4 levels: L M Q H guard let ciimage = filter.outputImage else { return nil } let transform = CGAffineTransform(scaleX: 10, y: 10) let scaledCIImage = ciimage.transformed(by: transform) diff --git a/TalerWallet1/Views/Transactions/QRcodesForPayto.swift b/TalerWallet1/Views/Transactions/QRcodesForPayto.swift @@ -17,7 +17,7 @@ struct QRcodeCopyShare: View { var body: some View { // Text(spec.type) let logo = spec.type == "spc" ? Image(SWISS_QR) : nil - let size = 276.0 // 46x46mm, swiss flag = 7x7mm plus border + let size = 276.0 // 46x46mm, swiss flag = 7x7mm plus border 276*9/46 = 54 QRGeneratorView(text: spec.qrContent, size: size, logo: logo, logoSize: size * 9 / 46, image: $qrImage) .frame(maxWidth: .infinity, alignment: .center) .listRowSeparator(.hidden)