From 595e25d482335da10b5fb39d84e725c6f1f18ee5 Mon Sep 17 00:00:00 2001 From: IU1JFE <47338441+IU1JFE@users.noreply.github.com> Date: Mon, 27 Mar 2023 11:21:33 +0200 Subject: [PATCH] add PrettyPrintQr for print as real qr on shall --- cpp/QrCodeGeneratorDemo.cpp | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/cpp/QrCodeGeneratorDemo.cpp b/cpp/QrCodeGeneratorDemo.cpp index b64bf5e..41beff4 100644 --- a/cpp/QrCodeGeneratorDemo.cpp +++ b/cpp/QrCodeGeneratorDemo.cpp @@ -46,7 +46,7 @@ static void doSegmentDemo(); static void doMaskDemo(); static std::string toSvgString(const QrCode &qr, int border); static void printQr(const QrCode &qr); - +static void PrettyPrintQr(const QrCode &qr); // The main application program. int main() { @@ -68,7 +68,7 @@ static void doBasicDemo() { // Make and print the QR Code symbol const QrCode qr = QrCode::encodeText(text, errCorLvl); - printQr(qr); + PrettyPrintQr(qr); std::cout << toSvgString(qr, 4) << std::endl; } @@ -230,3 +230,19 @@ static void printQr(const QrCode &qr) { } std::cout << std::endl; } + + +// Prints the given QrCode object to the console. +static void PrettyPrintQr(const QrCode &qr) +{ + int border = 4; + for (int y = -border; y < qr.getSize() + border; y++) + { + for (int x = -border; x < qr.getSize() + border; x++) + { + std::cout << (qr.getModule(x, y) ? (char)255 : (char)219); + } + std::cout << std::endl; + } + std::cout << std::endl; +}