C++ में QR कोड जनरेटर: QR-Code-generator लाइब्रेरी

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

C++ के लिए QR-Code-generator लाइब्रेरी: पूर्ण गाइड

QR कोड आज के डिजिटल युग का अहम हिस्सा बन गए हैं। इनका उपयोग विज्ञापन, लॉजिस्टिक्स, भुगतान प्रणाली और शैक्षिक प्रोजेक्ट्स में किया जाता है। अगर आप C++ में एप्लिकेशन बना रहे हैं और उसमें QR कोड जनरेट करने की सुविधा जोड़ना चाहते हैं, तो QR-Code-generator लाइब्रेरी एक सरल, हल्का और प्रभावी टूल है। इस लेख में हम इस लाइब्रेरी के बारे में विस्तार से जानेंगे, इसे कैसे इंस्टॉल करें, और काम के कोड उदाहरण देखेंगे।

QR-Code-generator क्या है?

QR-Code-generator एक क्रॉस-प्लेटफॉर्म C++ लाइब्रेरी है (C, Python, Java में भी उपलब्ध) जो विभिन्न वर्जन और एरर करेक्शन लेवल के QR कोड बनाने की सुविधा देती है। मुख्य लाभ:

  • किसी बाहरी डिपेंडेंसी की जरूरत नहीं (तुरंत काम करती है)।
  • QR कोड के सभी 40 वर्जन सपोर्ट करती है (21×21 से 177×177 मॉड्यूल तक)।
  • एरर करेक्शन लेवल: L (7%), M (15%), Q (25%), H (30%)।
  • आउटपुट स्ट्रिंग (char*) या बाइनरी ऐरे के रूप में।
  • Unicode (UTF-8) और न्यूमेरिक/अल्फ़ान्यूमेरिक मोड सपोर्ट।

यह लाइब्रेरी सर्वर एप्लिकेशन, कमांड-लाइन टूल्स या C++ शैक्षिक प्रोजेक्ट्स में एम्बेड करने के लिए एकदम सही है।

इंस्टॉलेशन और कनेक्ट करना

इंस्टॉलेशन बहुत आसान है। आप Nayuki के GitHub रिपॉजिटरी से सोर्स कोड डाउनलोड कर सकते हैं या पैकेज मैनेजर (जैसे vcpkg) का उपयोग कर सकते हैं। मैन्युअल तरीका देखें:

  1. qrcodegen.hpp और qrcodegen.cpp फ़ाइलें डाउनलोड करें।
  2. इन्हें अपने प्रोजेक्ट फ़ोल्डर में रखें।
  3. कोड में हेडर फ़ाइल शामिल करें: #include "qrcodegen.hpp"।
  4. प्रोजेक्ट को -std=c++11 या उससे ऊपर के फ्लैग के साथ कंपाइल करें।

g++ के माध्यम से कंपाइलेशन का उदाहरण:

g++ -std=c++11 main.cpp qrcodegen.cpp -o qr_generator

API के मुख्य फंक्शन

लाइब्रेरी एक न्यूनतम लेकिन शक्तिशाली API प्रदान करती है। मुख्य फंक्शन:

  • qrcodegen::QrCode::encodeText(text, ecl) — टेक्स्ट स्ट्रिंग को दिए गए एरर करेक्शन लेवल के साथ QR कोड में एनकोड करता है।
  • qrcodegen::QrCode::encodeBinary(data, ecl) — बाइनरी डेटा को एनकोड करता है।
  • getSize() — QR कोड का साइज़ (चौड़ाई में मॉड्यूल की संख्या) लौटाता है।
  • getModule(x, y) — जाँचता है कि (x, y) कोऑर्डिनेट पर मॉड्यूल (पिक्सेल) सेट है या नहीं।

उदाहरण 1: QR कोड जनरेट करना और कंसोल में दिखाना

सबसे सरल उदाहरण — टेक्स्ट स्ट्रिंग के लिए QR कोड बनाना और उसे ASCII ग्राफिक्स के रूप में प्रदर्शित करना। यह कोड डिबगिंग या टर्मिनल में डेमो के लिए उपयोगी है।

#include <iostream>
#include <string>
#include "qrcodegen.hpp"

using namespace std;
using namespace qrcodegen;

int main() {
    // H (30%) एरर करेक्शन लेवल के साथ टेक्स्ट का QR कोड बनाएं
    const QrCode qr = QrCode::encodeText("https://pythonlib.ru", QrCode::Ecc::HIGH);
    
    // QR कोड को कंसोल में प्रिंट करें (██ और स्पेस कैरेक्टर)
    for (int y = 0; y < qr.getSize(); y++) {
        for (int x = 0; x < qr.getSize(); x++) {
            cout << (qr.getModule(x, y) ? "██" : "  ");
        }
        cout << endl;
    }
    return 0;
}

परिणाम: कंसोल में एक QR कोड दिखाई देगा जिसे कोई भी स्मार्टफोन स्कैन कर सकता है। H लेवल अधिकतम क्षति सहनशीलता प्रदान करता है।

उदाहरण 2: बाइनरी डेटा के साथ QR कोड बनाना

कभी-कभी टेक्स्ट के बजाय मनमाने बाइट्स (जैसे सीरियलाइज़्ड डेटा) को एनकोड करना होता है। ऐसे में encodeBinary का उपयोग करें।

#include <vector>
#include "qrcodegen.hpp"

using namespace qrcodegen;

int main() {
    // बाइनरी डेटा तैयार करें (बाइट्स का ऐरे)
    std::vector<uint8                    

अनुशंसाएँ