مولد رموز QR بلغة C# (.NET) مع مكتبة QRCoder

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

مولد رموز QR بلغة C# (.NET): الأداة القوية QRCoder

\n

أصبحت رموز QR جزءًا لا يتجزأ من الويب الحديث وتطبيقات الهواتف المحمولة. تُستخدم للانتقال السريع عبر الروابط، ونقل بيانات الاتصال، والمصادقة، والدفع، وغير ذلك الكثير. إذا كنت تطور تطبيقًا على منصة .NET (C#)، فإن أحد أفضل الحلول لتوليد رموز QR هي مكتبة QRCoder. إنها مكتبة خفيفة الوزن، عالية الأداء، ومُدارة بالكامل ومفتوحة المصدر، ولا تتطلب تبعيات خارجية (مثل ImageMagick أو ZXing).

\n\n

ما هي QRCoder؟

\n

QRCoder هي تطبيق خالص بلغة 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 ويحفظه في ملف:

\n
using 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% من البيانات التالفة - وهو الأمثل لمعظم المهام.

\n\n

رمز QR مع شعار (العلامة التجارية)

\n

تدعم QRCoder دمج صورة في وسط رمز QR. هذا مفيد للملصقات التجارية أو بطاقات العمل. مهم: يجب ألا يغطي الشعار أكثر من 30% من مساحة الرمز، وإلا سيصبح المسح مستحيلاً.

\n
using 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
    \n
  • pixelsPerModule — حجم الوحدة الواحدة

توصيات