مولد رموز QR بلغة C# (.NET): الأداة القوية QRCoder
\nأصبحت رموز QR جزءًا لا يتجزأ من الويب الحديث وتطبيقات الهواتف المحمولة. تُستخدم للانتقال السريع عبر الروابط، ونقل بيانات الاتصال، والمصادقة، والدفع، وغير ذلك الكثير. إذا كنت تطور تطبيقًا على منصة .NET (C#)، فإن أحد أفضل الحلول لتوليد رموز QR هي مكتبة QRCoder. إنها مكتبة خفيفة الوزن، عالية الأداء، ومُدارة بالكامل ومفتوحة المصدر، ولا تتطلب تبعيات خارجية (مثل ImageMagick أو ZXing).
\n\nما هي QRCoder؟
\nQRCoder هي تطبيق خالص بلغة C# لمعيار رموز QR (ISO/IEC 18004). تتيح لك إنشاء رموز QR بإصدارات مختلفة (من 1 إلى 40)، وتحديد مستوى تصحيح الأخطاء (L, M, Q, H)، ودمج الشعارات، وتصدير النتيجة بتنسيقات PNG، BMP، JPG، GIF، وكذلك SVG أو XAML (من خلال وحدات إضافية). تعمل المكتبة مع كل من .NET Framework (بدءًا من 4.6) و .NET Core / .NET 5/6/7/8، مما يجعلها خيارًا عالميًا لتطبيقات الويب (ASP.NET) وتطبيقات سطح المكتب (WPF, WinForms) والمشاريع الطرفية.
\n\nالتثبيت والإعداد
\nيتم تثبيت QRCoder عبر مدير الحزم NuGet. نفذ أحد الأوامر التالية:
\n// عبر Package Manager Console\nInstall-Package QRCoder\n\n// عبر .NET CLI\ndotnet add package QRCoder\nبعد تثبيت المكتبة، يمكنك البدء فورًا في توليد رموز QR. لا حاجة لأي تكوينات إضافية.
\n\nمثال أساسي: توليد رمز QR مع نص
\nأبسط طريقة هي إنشاء رمز QR يحتوي على سلسلة نصية عشوائية (رابط URL، نص، رقم هاتف). المثال أدناه يُنشئ رمز QR ويحفظه في ملف:
\nusing QRCoder;\nusing System.Drawing;\nusing System.Drawing.Imaging;\n\nclass Program\n{\n static void Main()\n {\n // 1. إنشاء المولد\n QRCodeGenerator qrGenerator = new QRCodeGenerator();\n\n // 2. إنشاء بيانات رمز QR (النص، مستوى التصحيح)\n QRCodeData qrCodeData = qrGenerator.CreateQrCode(\n "https://pythonlib.ru",\n QRCodeGenerator.ECCLevel.Q // المستوى Q — استرداد 25%\n );\n\n // 3. إنشاء التمثيل الرسومي\n QRCode qrCode = new QRCode(qrCodeData);\n\n // 4. العرض في Bitmap (حجم الوحدة 20 بكسل)\n Bitmap qrCodeImage = qrCode.GetGraphic(20);\n\n // 5. الحفظ في ملف\n qrCodeImage.Save("qrcode.png", ImageFormat.Png);\n\n Console.WriteLine("تم إنشاء رمز QR: qrcode.png");\n }\n}\nستحصل على ملف qrcode.png برمز QR أبيض وأسود. مستوى التصحيح Q يسمح باسترداد ما يصل إلى 25% من البيانات التالفة - وهو الأمثل لمعظم المهام.
رمز QR مع شعار (العلامة التجارية)
\nتدعم QRCoder دمج صورة في وسط رمز QR. هذا مفيد للملصقات التجارية أو بطاقات العمل. مهم: يجب ألا يغطي الشعار أكثر من 30% من مساحة الرمز، وإلا سيصبح المسح مستحيلاً.
\nusing QRCoder;\nusing System.Drawing;\n\npublic Bitmap GenerateQrWithLogo(string text, string logoPath)\n{\n QRCodeGenerator qrGenerator = new QRCodeGenerator();\n QRCodeData qrCodeData = qrGenerator.CreateQrCode(text, QRCodeGenerator.ECCLevel.Q);\n QRCode qrCode = new QRCode(qrCodeData);\n\n // تحميل الشعار\n Image logo = Image.FromFile(logoPath);\n\n // التوليد مع الشعار (حجم الوحدة 20، لون الخلفية أبيض، الشعار في المنتصف)\n Bitmap result = qrCode.GetGraphic(20, Color.Black, Color.White, logo);\n return result;\n}\n\nتخصيص المظهر: اللون والحجم
\nيمكنك بسهولة تغيير ألوان رمز QR لتكييفه مع تصميم تطبيقك. تقبل طريقة GetGraphic المعاملات:
- \n
- pixelsPerModule — حجم الوحدة الواحدة