Swift (iOS/macOS) पर QR कोड जनरेटर: EFQRCode लाइब्रेरी
QR कोड आधुनिक अनुप्रयोगों का एक अभिन्न अंग बन गए हैं - प्रमाणीकरण से लेकर लिंक और संपर्क साझा करने तक। यदि आप Swift में iOS या macOS के लिए डेवलप कर रहे हैं, तो आपको शुरू से जटिल एन्कोडिंग एल्गोरिदम लिखने की आवश्यकता नहीं है। तैयार लाइब्रेरी EFQRCode QR कोड बनाने, पढ़ने और अनुकूलित करने के लिए एक सुविधाजनक API प्रदान करती है। इस लेख में, हम इसकी क्षमताओं, इंस्टॉलेशन और उपयोग के उदाहरणों पर चर्चा करेंगे।
EFQRCode क्या है?
EFQRCode एक ओपन-सोर्स लाइब्रेरी है जो Swift में लिखी गई है। यह iOS (संस्करण 9.0 से शुरू) और macOS (10.11+) को सपोर्ट करती है। मुख्य विशेषताएं:
- स्ट्रिंग्स, URL पतों, vCard संपर्कों और टेक्स्ट से QR कोड जनरेट करना।
- रंग, पृष्ठभूमि, आकार और त्रुटि सुधार स्तर का अनुकूलन।
- QR कोड के केंद्र में वॉटरमार्क (लोगो, चित्र) जोड़ना।
- एनिमेटेड QR कोड (GIF) बनाना।
- इमेज से QR कोड डिकोड करना।
लाइब्रेरी Core Image से अंतर्निहित CIFilter का उपयोग करती है, लेकिन कई सुविधाजनक रैपर और अनुकूलन जोड़ती है।
Swift Package Manager के माध्यम से इंस्टॉलेशन
अपने Xcode प्रोजेक्ट में EFQRCode पैकेज जोड़ें:
// Xcode में: File → Add Packages...// रिपॉजिटरी URL डालें:https://github.com/EFPrefix/EFQRCode.git// संस्करण चुनें (अनुशंसित "Up to Next Major")या मैन्युअल रूप से Package.swift में निर्भरता जोड़ें:
dependencies: [ .package(url: "https://github.com/EFPrefix/EFQRCode.git", from: "6.0.0")]QR कोड जनरेट करने का मूल उदाहरण
स्ट्रिंग से QR कोड बनाने का सबसे सरल तरीका:
import EFQRCode
// टेक्स्ट से QR कोड बनानाif let image = EFQRCode.generate( content: "https://pythonlib.ru", size: EFIntSize(width: 300, height: 300)) { // प्रदर्शित करने के लिए image (CGImage) का उपयोग करें // उदाहरण के लिए, iOS पर UIImageView में: let uiImage = UIImage(cgImage: image) imageView.image = uiImage}परिणाम 300x300 पिक्सेल का एक मानक काले-सफेद QR कोड है।
रंग और पृष्ठभूमि का अनुकूलन
आप अग्रभूमि और पृष्ठभूमि का मनमाना रंग सेट कर सकते हैं:
import EFQRCode
let qrImage = EFQRCode.generate( content: "Hello, Swift!", size: EFIntSize(width: 400, height: 400), backgroundColor: UIColor.yellow.cgColor, foregroundColor: UIColor.blue.cgColor, inputCorrectionLevel: .h // अधिकतम त्रुटि सुधार)पैरामीटर inputCorrectionLevel मान लेता है .l (7%), .m (15%), .q (25%), .h (30%)। स्तर जितना अधिक होगा, क्षति होने पर उतना ही अधिक डेटा पुनर्प्राप्त किया जा सकता है।
लोगो (वॉटरमार्क) जोड़ना
QR कोड के केंद्र में लोगो रखने के लिए, generateWithWatermark विधि का उपयोग करें:
import EFQRCode
let watermarkImage = UIImage(named: "logo")?.cgImagelet qrWithLogo = EFQRCode.generateWithWatermark( content: "https://pythonlib.ru", size: EFIntSize(width: 500, height: 500), watermark: watermarkImage, watermarkMode: .center)महत्वपूर्ण: लोगो को 30% से अधिक क्षेत्र नहीं घेरना चाहिए, अन्यथा कोड पढ़ा नहीं जा सकता।
एनिमेटेड QR कोड (GIF) बनाना
EFQRCode एनिमेटेड QR कोड जनरेट करने का समर्थन करता है। उदाहरण के लिए, बदलते रंगों के साथ GIF बनाया जा सकता है:
import EFQRCode
let qrCodeGIF = EFQRCode.generateGIF( content: "Animated QR", size: EFIntSize(width: 200, height: 200), data: [someData] // फ्रेम्स की सरणी)सरल एनीमेशन के लिए, तैयार रंगों का उपयोग किया जा सकता है। अधिक जानकारी के लिए लाइब्रेरी के दस्तावेज़ देखें।
इमेज से QR कोड डिकोड करना
फोटो या स्क्रीनशॉट से QR कोड पढ़ने के लिए:
import