Cómo crear una imagen de código QR en C# con IronQR

This article was translated from English: Does it need improvement?
Translated
View the article in English

Para crear una imagen de código QR en C#, utilice el método QrWriter.Write() de IronQR para generar el código, luego Save() para obtener un objeto AnyBitmap y SaveAs() para exportarlo a su formato de imagen preferido como PNG o JPEG.

como-encabezado:2(Inicio rápido: cree su primera imagen de código QR)

  1. Instale IronQR a través de NuGet Package Manager
  2. Añada usando IronQR; y usando IronSoftware.Drawing;
  3. Generar código QR: QrCode qrCode = QrWriter.Write("tu texto");
  4. Guardar en mapa de bits: AnyBitmap anyBitmap = qrCode.Save();
  5. Exportar como imagen: anyBitmap.SaveAs("miQRCode.png", AnyBitmap.ImageFormat.Png);

Aquí tienes un ejemplo completo para empezar:

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronQR con el gestor de paquetes NuGet

    PM > Install-Package IronQR

  2. Copie y ejecute este fragmento de código.

    using IronQr;
    using IronSoftware.Drawing;
    
    // Generate a simple QR code
    QrCode myQrCode = QrWriter.Write("Hello, World!");
    
    // Save as an image bitmap
    AnyBitmap qrImage = myQrCode.Save();
    
    // Export to PNG file
    qrImage.SaveAs("hello-world-qr.png");
  3. Despliegue para probar en su entorno real

    Empieza a utilizar IronQR en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer

Los códigos QR codifican datos en forma de patrones visuales de cuadrados blancos y negros que las cámaras y los escáneres pueden leer. Estas matrices bidimensionales almacenan URL, texto u otra información en un formato compacto y escaneable. Para ver ejemplos más avanzados, consulte la Guía de inicio rápido de QR.

Comience a usar IronQR en su proyecto hoy con una prueba gratuita.

Primer Paso:
green arrow pointer

¿Cómo crear códigos QR como imágenes?

¿Qué código necesito para generar un código QR?

La creación de códigos QR con IronQR requiere un código mínimo. Genera el objeto de código QR con una línea y, a continuación, expórtalo como imagen mediante los métodos Save y SaveAs. La clase QrWriter proporciona toda la funcionalidad para generar códigos QR.

:path=/static-assets/qr/content-code-examples/how-to/create-qr-code-image.cs
using IronQr;
using IronSoftware.Drawing;

// Creating a QR code
QrCode qrCode = QrWriter.Write("12345");

// Save QR code to AnyBitmap
AnyBitmap anyBitmap = qrCode.Save();

// Save AnyBitmap to PNG
anyBitmap.SaveAs("simpleQrCode.png", AnyBitmap.ImageFormat.Png);
Imports IronQr
Imports IronSoftware.Drawing

' Creating a QR code
Private qrCode As QrCode = QrWriter.Write("12345")

' Save QR code to AnyBitmap
Private anyBitmap As AnyBitmap = qrCode.Save()

' Save AnyBitmap to PNG
anyBitmap.SaveAs("simpleQrCode.png", AnyBitmap.ImageFormat.Png)
$vbLabelText   $csharpLabel
Ejemplo de código QR generado que muestra el resultado visual del proceso de creación del código QR

¿A qué formatos de imagen puedo exportar?

El método Save devuelve un objeto AnyBitmap que admite varios formatos de exportación:

  • JPEG (.jpg o .jpeg): Formato comprimido para fotos que utiliza compresión con pérdida.
  • PNG (.png): Formato sin pérdidas ideal para uso web con soporte para transparencias.
  • Bmp (.bmp): Formato de Windows sin comprimir que produce archivos grandes y de alta calidad.
  • GIF (.gif): Admite animaciones y transparencias con un límite de 256 colores.
  • TIFF (.tiff o .tif): Formato flexible para fotografía profesional.
  • WBMP (.wbmp): Formato monocromo para comunicación inalámbrica.
  • WebP (.webp): Formato moderno con excelente compresión con y sin pérdidas.
  • Icono (.ico): Pequeñas imágenes cuadradas para iconos de programas y archivos.
  • WMF (.wmf): Formato vectorial y rasterizado para gráficos de Windows.
  • Formato RAW (.raw): Datos de imagen sin procesar para edición profesional.

¿Por qué debería elegir PNG en lugar de JPEG para los códigos QR?

PNG ofrece una compresión sin pérdidas y unos bordes nítidos esenciales para la legibilidad de los códigos QR. La compresión con pérdidas de JPEG puede difuminar los bordes de los códigos QR, lo que puede afectar a la fiabilidad del escaneado. PNG garantiza líneas nítidas para un escaneado óptimo en todos los dispositivos y condiciones.

El soporte de transparencia de PNG añade valor a los códigos QR estilizados con logotipos o colores personalizados. Más información sobre la creación de códigos QR estilizados con personalización avanzada en nuestra guía avanzada.

¿Cómo puedo controlar el tamaño y la calidad de los códigos QR?

IronQR ofrece opciones para controlar el tamaño y la calidad:

using IronQr;
using IronSoftware.Drawing;

// Create QR code with custom dimensions
QrOptions options = new QrOptions(QrErrorCorrectionLevel.High, 20);
QrCode qrCode = QrWriter.Write("https://ironsoftware.com", options);

// Save with specific dimensions
AnyBitmap qrImage = qrCode.SaveAsPng(500, 500);

// Save to file
qrImage.SaveAs("custom-size-qr.png");
using IronQr;
using IronSoftware.Drawing;

// Create QR code with custom dimensions
QrOptions options = new QrOptions(QrErrorCorrectionLevel.High, 20);
QrCode qrCode = QrWriter.Write("https://ironsoftware.com", options);

// Save with specific dimensions
AnyBitmap qrImage = qrCode.SaveAsPng(500, 500);

// Save to file
qrImage.SaveAs("custom-size-qr.png");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

La corrección de errores determina la tolerancia al daño manteniendo la legibilidad. Los niveles superiores crean códigos QR complejos con mejor tolerancia a fallos, detallada en nuestra documentación sobre tolerancia a fallos.


¿Qué tipos de códigos QR son compatibles?

¿Qué tipo de código QR debo utilizar para aplicaciones estándar?

IronQR es compatible con los principales formatos de código QR para diversas necesidades de aplicación:

  • QRCode: código QR estándar que almacena hasta 7.089 caracteres numéricos o 4.296 caracteres alfanuméricos. Adecuado para URL, información de contacto y almacenamiento de datos en general.
Ejemplo de código QR que muestra un patrón matricial estándar en blanco y negro con cuadrados de posicionamiento en las esquinas

¿Cuándo utilizar microcódigos QR?

  • MicroQRCode: versión más pequeña para aplicaciones con espacio limitado. Almacena hasta 35 caracteres numéricos o 21 alfanuméricos. Ideal para envases pequeños o etiquetas diminutas.
Código QR estándar que muestra el típico patrón cuadrado en blanco y negro con las esquinas del buscador y los módulos de datos

¿Para qué se utilizan mejor los códigos RMQR?

  • RMQRCode: Microcódigo QR rectangular con relación de aspecto flexible. Almacena datos de forma similar al microcódigo QR, pero se adapta a espacios rectangulares.
Ejemplo de código QR que muestra un patrón de matriz estándar con marcadores de posición y cuadros de datos codificados

Mejores prácticas para la generación de imágenes de códigos QR

¿Cuáles son las consideraciones clave para los códigos QR de producción?

Tenga en cuenta estos factores para los códigos QR de producción:

  1. Nivel de corrección de errores: Utilice Alto (H) para materiales impresos que puedan dañarse. El nivel medio (M) es suficiente para las presentaciones digitales.
  2. Zona tranquila: Mantén un espacio en blanco de al menos 4 módulos de ancho alrededor del código QR para un escaneado óptimo.
  3. Contraste: El negro sobre blanco ofrece los mejores resultados. Las características de estilización de IronQR permiten variaciones creativas a la vez que mantienen la legibilidad.
  4. Tamaño: Garantizar un mínimo de 2cm x 2cm para los códigos impresos. Las pantallas digitales pueden necesitar tamaños más grandes en función de la distancia de visualización.

¿Cómo tratar diferentes casos de uso?

Cada aplicación requiere un enfoque diferente:

Para tarjetas de visita y material impreso:

// High error correction for durability
QrOptions printOptions = new QrOptions(QrErrorCorrectionLevel.High, 10);
QrCode businessCard = QrWriter.Write("BEGIN:VCARD\nVERSION:3.0\nFN:John Doe\nEND:VCARD", printOptions);
// High error correction for durability
QrOptions printOptions = new QrOptions(QrErrorCorrectionLevel.High, 10);
QrCode businessCard = QrWriter.Write("BEGIN:VCARD\nVERSION:3.0\nFN:John Doe\nEND:VCARD", printOptions);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Para pantallas digitales y sitios web:

// Medium error correction with larger modules for screen display
QrOptions digitalOptions = new QrOptions(QrErrorCorrectionLevel.Medium, 15);
QrCode webQr = QrWriter.Write("https://example.com", digitalOptions);
// Medium error correction with larger modules for screen display
QrOptions digitalOptions = new QrOptions(QrErrorCorrectionLevel.Medium, 15);
QrCode webQr = QrWriter.Write("https://example.com", digitalOptions);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Para aplicaciones móviles:

// Optimized for mobile scanning
QrOptions mobileOptions = new QrOptions(QrErrorCorrectionLevel.Low, 8);
QrCode appQr = QrWriter.Write("myapp://action", mobileOptions);
// Optimized for mobile scanning
QrOptions mobileOptions = new QrOptions(QrErrorCorrectionLevel.Low, 8);
QrCode appQr = QrWriter.Write("myapp://action", mobileOptions);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Características avanzadas e integración

Las completas funciones de IronQR van más allá de la generación básica de códigos QR. La biblioteca se integra perfectamente con otros productos de Iron Software y admite el procesamiento por lotes, la generación dinámica y la integración de aplicaciones web.

Para obtener soluciones completas de códigos QR, explore nuestro Tutorial del generador de códigos QR de C# que cubre patrones de implementación de extremo a extremo y las mejores prácticas empresariales.

IronQR proporciona las herramientas y la flexibilidad necesarias para el desarrollo profesional en .NET, desde simples generadores hasta complejos sistemas de procesamiento de documentos. La compatibilidad multiplataforma de la biblioteca garantiza una generación de códigos QR coherente en Windows, Linux, macOS y entornos en la nube.

Preguntas Frecuentes

¿Cuál es la forma más rápida de crear una imagen de código QR en C#?

La forma más rápida es utilizar el método QrWriter.Write() de IronQR para generar el código QR, luego llamar a Save() para obtener un objeto AnyBitmap, y finalmente utilizar SaveAs() para exportarlo a su formato de imagen preferido. Con sólo 5 líneas de código, puede crear y guardar un código QR como un archivo PNG o JPEG.

¿Qué formatos de imagen admite la exportación de códigos QR?

IronQR soporta múltiples formatos de imagen, incluyendo JPEG, PNG, BMP, GIF, TIFF, WBMP, WebP y formatos Icon. El método Save() devuelve un objeto AnyBitmap que puede exportarse a cualquiera de estos formatos utilizando el método SaveAs() con el parámetro ImageFormat apropiado.

¿Cómo puedo generar un código QR sencillo y guardarlo como archivo PNG?

Para generar un código QR y guardarlo como PNG, utilice: QrCode myQrCode = QrWriter.Write("tu texto"); luego AnyBitmap qrImage = myQrCode.Save(); y finalmente qrImage.SaveAs("nombrearchivo.png", AnyBitmap.ImageFormat.Png); IronQR maneja toda la complejidad de la generación del código QR por ti.

¿Qué espacios de nombres debo importar para crear imágenes de códigos QR?

Es necesario importar dos espacios de nombres: 'using IronQr;' para la funcionalidad de generación de códigos QR y 'using IronSoftware.Drawing;' para las capacidades de manejo de imágenes. Estos proporcionan acceso a la clase QrWriter y al objeto AnyBitmap utilizados en IronQR.

¿Puedo crear códigos QR con estilos personalizados o solo en blanco y negro?

Aunque los ejemplos básicos muestran códigos QR estándar en blanco y negro, la clase QrWriter de IronQR proporciona una amplia funcionalidad para generar códigos QR personalizados. Puede explorar las opciones avanzadas de estilo a través de la completa documentación de la API.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 54,049 | Versión: 2025.12 recién lanzado