Generador de códigos QR en C# (.NET) con la librería QRCoder

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Generador de códigos QR en C# (.NET): la potente herramienta QRCoder

\n

Los códigos QR se han convertido en una parte esencial de la web moderna y las aplicaciones móviles. Se utilizan para acceder rápidamente a enlaces, transferir datos de contacto, autenticación, pagos y mucho más. Si está desarrollando una aplicación en la plataforma .NET (C#), una de las mejores soluciones para generar códigos QR es la librería QRCoder. Es una librería ligera, de alto rendimiento y completamente administrada, de código abierto, que no requiere dependencias externas (como ImageMagick o ZXing).

\n\n

¿Qué es QRCoder?

\n

QRCoder es una implementación pura en C# del estándar de códigos QR (ISO/IEC 18004). Permite crear códigos QR de varias versiones (de la 1 a la 40), establecer el nivel de corrección de errores (L, M, Q, H), incrustar logotipos y exportar el resultado en formatos PNG, BMP, JPG, GIF, así como SVG o XAML (a través de módulos adicionales). La librería funciona tanto con .NET Framework (desde la versión 4.6) como con .NET Core / .NET 5/6/7/8, lo que la convierte en una opción universal para aplicaciones web (ASP.NET), de escritorio (WPF, WinForms) y proyectos de consola.

\n\n

Instalación y configuración

\n

La instalación de QRCoder se realiza a través del administrador de paquetes NuGet. Ejecute uno de los siguientes comandos:

\n
// A través de Package Manager Console\nInstall-Package QRCoder\n\n// A través de .NET CLI\ndotnet add package QRCoder
\n

Después de instalar la librería, puede comenzar inmediatamente a generar códigos QR. No se requiere ninguna configuración adicional.

\n\n

Ejemplo básico: generación de un código QR con texto

\n

La forma más sencilla es crear un código QR que contenga una cadena de texto arbitraria (URL, texto, número de teléfono). El siguiente ejemplo genera un código QR y lo guarda en un archivo:

\n
using QRCoder;\nusing System.Drawing;\nusing System.Drawing.Imaging;\n\nclass Program\n{\n    static void Main()\n    {\n        // 1. Creamos el generador\n        QRCodeGenerator qrGenerator = new QRCodeGenerator();\n\n        // 2. Creamos los datos del código QR (texto, nivel de corrección)\n        QRCodeData qrCodeData = qrGenerator.CreateQrCode(\n            "https://pythonlib.ru",\n            QRCodeGenerator.ECCLevel.Q   // Nivel Q — 25% de recuperación\n        );\n\n        // 3. Creamos la representación gráfica\n        QRCode qrCode = new QRCode(qrCodeData);\n\n        // 4. Renderizamos en Bitmap (tamaño del módulo 20 píxeles)\n        Bitmap qrCodeImage = qrCode.GetGraphic(20);\n\n        // 5. Guardamos en un archivo\n        qrCodeImage.Save("qrcode.png", ImageFormat.Png);\n\n        Console.WriteLine("Código QR creado: qrcode.png");\n    }\n}
\n

Como resultado, obtendrá un archivo qrcode.png con un código QR en blanco y negro. El nivel de corrección Q permite recuperar hasta el 25% de los datos dañados, óptimo para la mayoría de las tareas.

\n\n

Código QR con logotipo (branding)

\n

QRCoder admite la incrustación de una imagen en el centro del código QR. Esto es útil para pegatinas de marca o tarjetas de presentación. Importante: el logotipo no debe cubrir más del 30% del área del código, de lo contrario, la lectura se volverá imposible.

\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    // Cargamos el logotipo\n    Image logo = Image.FromFile(logoPath);\n\n    // Generamos con logotipo (tamaño del módulo 20, color de fondo blanco, logotipo centrado)\n    Bitmap result = qrCode.GetGraphic(20, Color.Black, Color.White, logo);\n    return result;\n}
\n\n

Personalización de la apariencia: color y tamaño

\n

Puede cambiar fácilmente los colores del código QR para adaptarlo al diseño de su aplicación. El método GetGraphic acepta parámetros:

\n
    \n
  • pixelsPerModule — tamaño de un

Recommendations