Cómo configurar los niveles de corrección de errores de códigos QR
Tome control del rendimiento. Ajuste la configuración de corrección de errores para crear códigos QR más rápidos y duraderos que puedan resistir daños y aún escanearse de manera confiable.
La corrección de errores es lo que separa un código QR que se desmorona de uno que sigue funcionando. Cuando una etiqueta impresa se raya, una pegatina se despega, o un cartel se desvanece al sol, la corrección de errores determina si el código todavía se puede escanear. IronQR permite a los desarrolladores elegir exactamente cuánta resiliencia lleva un código QR, desde códigos livianos optimizados para pantallas digitales limpias hasta códigos de alta resistencia diseñados para sobrevivir en almacenes y suelos de fábrica.
Esta guía demuestra cómo configurar los niveles de corrección de errores utilizando la biblioteca IronQR, equilibrando la densidad de datos contra la tolerancia al daño para cualquier caso de uso. Los desarrolladores nuevos en la generación de códigos QR deben comenzar con la guía Crear código QR como imagen primero.
Quickstart: Establecer la corrección de errores del código QR
Configura el nivel de corrección de errores a través de QrOptions y genera un código QR resistente.
-
Instala IronQR con el Administrador de Paquetes NuGet
PM > Install-Package IronQR -
Copie y ejecute este fragmento de código.
var options = new QrOptions(QrErrorCorrectionLevel.Medium); var qrCode = QrWriter.Write("https://example.com", options); qrCode.Save().SaveAs("qr-medium.png"); -
Despliegue para probar en su entorno real
Comienza a usar IronQR en tu proyecto hoy mismo con una prueba gratuita
Flujo de trabajo mínimo (5 pasos)
- Descargue la biblioteca C# de IronQR para generar códigos QR con corrección de errores
- Cree un objeto
QrOptionscon unErrorCorrectionLevelelegido - Genere el código QR usando
QrWriter.Write()con esas opciones - Guarde el código QR como un mapa de bits con
Save() - Exporte el mapa de bits a un archivo de imagen con
SaveAs()
Comprendiendo los niveles de corrección de errores
Los códigos QR utilizan corrección de errores Reed-Solomon para seguir siendo escaneables incluso cuando están parcialmente dañados o cubiertos. El enum QrErrorCorrectionLevel en IronQR proporciona cuatro niveles, cada uno comprometiendo la capacidad de datos para aumentar la resistencia:
| Nivel | Capacidad de recuperación | Lo mejor para |
|---|---|---|
QrErrorCorrectionLevel.Low |
~7% daño | Pantallas digitales, entornos controlados |
QrErrorCorrectionLevel.Medium |
~15% daño | Uso de propósito general, durabilidad moderada |
QrErrorCorrectionLevel.High |
~25% daño | Materiales impresos, señalización al aire libre |
QrErrorCorrectionLevel.Highest |
~30% daño | Etiquetas industriales, condiciones severas |
Una mayor corrección de errores agrega más módulos de redundancia, lo que aumenta la densidad visual del código QR. Esto también afecta el tamaño de la imagen generada, por lo que los desarrolladores pueden necesitar ajustar las dimensiones en consecuencia. El nivel más bajo que cumple con los requisitos de durabilidad mantiene el código compacto y rápido de escanear.
Estableciendo el nivel de corrección de errores
Para establecer el nivel de corrección de errores, pasa el valor QrErrorCorrectionLevel deseado al constructor QrOptions. Luego, pasa estas opciones a QrWriter.Write() al generar el código QR.
En este ejemplo, la corrección de errores está configurada en Media, lo que recupera hasta el 15% de los datos dañados mientras mantiene el código compacto.
:path=/static-assets/qr/content-code-examples/how-to/error-correction-qr-code.cs
using IronQr;
using IronSoftware.Drawing;
QrOptions options = new QrOptions(QrErrorCorrectionLevel.Medium);
// Create QR code
QrCode qr = QrWriter.Write("1234", options);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();
// Save QR code bitmap as file
qrImage.SaveAs("qrMedium.png");
Imports IronQr
Imports IronSoftware.Drawing
Dim options As New QrOptions(QrErrorCorrectionLevel.Medium)
' Create QR code
Dim qr As QrCode = QrWriter.Write("1234", options)
' Save QR code as a bitmap
Dim qrImage As AnyBitmap = qr.Save()
' Save QR code bitmap as file
qrImage.SaveAs("qrMedium.png")
Resultado
Comparando niveles de corrección de errores
Cada nivel produce un código QR visualmente diferente. Los niveles más bajos generan patrones más simples que se escanean más rápido, mientras que los niveles más altos crean patrones más densos que sobreviven a más daños. He aquí cómo generar los mismos datos en cada nivel para comparación:
:path=/static-assets/qr/content-code-examples/how-to/error-correction-qr-code-compare.cs
using IronQr;
using IronSoftware.Drawing;
string data = "https://ironsoftware.com";
// Low - ~7% recovery, smallest code
QrCode qrLow = QrWriter.Write(data, new QrOptions(QrErrorCorrectionLevel.Low));
qrLow.Save().SaveAs("qrLow.png");
// Medium - ~15% recovery, balanced
QrCode qrMedium = QrWriter.Write(data, new QrOptions(QrErrorCorrectionLevel.Medium));
qrMedium.Save().SaveAs("qrMedium.png");
// High - ~25% recovery, durable
QrCode qrHigh = QrWriter.Write(data, new QrOptions(QrErrorCorrectionLevel.High));
qrHigh.Save().SaveAs("qrHigh.png");
// Highest - ~30% recovery, maximum resilience
QrCode qrHighest = QrWriter.Write(data, new QrOptions(QrErrorCorrectionLevel.Highest));
qrHighest.Save().SaveAs("qrHighest.png");
Imports IronQr
Imports IronSoftware.Drawing
Dim data As String = "https://ironsoftware.com"
' Low - ~7% recovery, smallest code
Dim qrLow As QrCode = QrWriter.Write(data, New QrOptions(QrErrorCorrectionLevel.Low))
qrLow.Save().SaveAs("qrLow.png")
' Medium - ~15% recovery, balanced
Dim qrMedium As QrCode = QrWriter.Write(data, New QrOptions(QrErrorCorrectionLevel.Medium))
qrMedium.Save().SaveAs("qrMedium.png")
' High - ~25% recovery, durable
Dim qrHigh As QrCode = QrWriter.Write(data, New QrOptions(QrErrorCorrectionLevel.High))
qrHigh.Save().SaveAs("qrHigh.png")
' Highest - ~30% recovery, maximum resilience
Dim qrHighest As QrCode = QrWriter.Write(data, New QrOptions(QrErrorCorrectionLevel.Highest))
qrHighest.Save().SaveAs("qrHighest.png")
Resultado
Bajo (~7% Recuperación)
Medio (~15% Recuperación)
Alto (~25% Recuperación)
Más alto (~30% Recuperación)
Elegir el nivel adecuado para el caso de uso
El nivel de corrección de errores adecuado depende de dónde vivirá el código QR y qué necesita para sobrevivir:
| Caso práctico | Nivel | Por qué | Guía relacionada |
|---|---|---|---|
| Pantallas digitales y sitios web | QrErrorCorrectionLevel.Low |
La pantalla está limpia, la iluminación está controlada, no hay desgaste físico. Mantiene el código simple y rápido de escanear. | Crear código QR como imagen |
| Tarjetas de presentación, volantes y señalización en interiores | QrErrorCorrectionLevel.Medium |
El manejo ligero y el pequeño doblado no afectarán el escaneo. Combine con márgenes adecuados para obtener los mejores resultados. | Agregar márgenes al código QR |
| Empaquetado de productos y carteles exteriores | QrErrorCorrectionLevel.High |
Los materiales enfrentan lluvia, exposición a UV y manejo brusco durante el envío. Aumente el tamaño para escaneo a distancia. | Redimensionar código QR |
| Etiquetas de almacén, pisos de fábrica y etiquetas industriales | QrErrorCorrectionLevel.Highest |
Entornos duros donde los códigos se rayan, manchan o cubren parcialmente. La máxima redundancia los mantiene funcionando. | Leer códigos QR desde una imagen |
Para patrones de generación de códigos QR más avanzados, explore el tutorial del generador de códigos QR C# y el conjunto de características completo de IronQR.
Preguntas Frecuentes
¿Cuáles son los niveles de corrección de errores de códigos QR disponibles en IronQR?
IronQR ofrece cuatro niveles de corrección de errores para códigos QR: Bajo, Medio, Cuartil y Alto. Estos niveles ayudan a mantener la escaneabilidad de los códigos QR incluso cuando están parcialmente dañados.
¿Cómo puedo establecer el nivel de corrección de errores para un código QR usando IronQR en C#?
Puede establecer el nivel de corrección de errores en IronQR configurando la propiedad QrErrorCorrectionLevel en la clase QrOptions. Utilice el método QrWriter.Write para generar el código QR con el nivel de corrección de errores especificado.
¿Por qué es importante la corrección de errores en los códigos QR?
La corrección de errores es crucial para los códigos QR ya que asegura que sigan siendo escaneables incluso si están parcialmente dañados u obstruidos. IronQR le permite seleccionar diferentes niveles de corrección de errores para adaptarse a sus necesidades.
¿Puede IronQR manejar la generación de códigos QR con configuraciones personalizadas de corrección de errores?
Sí, IronQR le permite personalizar las configuraciones de corrección de errores para sus códigos QR, permitiéndole equilibrar entre la capacidad de datos y la robustez contra daños.
¿Cuál es el nivel de corrección de errores predeterminado en IronQR?
IronQR normalmente predetermina a un nivel de corrección de errores Medio, que ofrece un enfoque equilibrado entre capacidad de datos y resistencia a errores, pero puede personalizarlo según sea necesario.
¿Es posible cambiar el nivel de corrección de errores de un código QR existente usando IronQR?
Para cambiar el nivel de corrección de errores, necesita regenerar el código QR con el nivel de corrección de errores deseado usando las clases QrOptions y QrWriter de IronQR.
¿Cómo afecta un nivel de corrección de errores más alto al tamaño del código QR?
Aumentar el nivel de corrección de errores generalmente resulta en códigos QR más grandes porque se incluye más datos redundantes para mejorar la recuperación de daños, lo cual es gestionado efectivamente por IronQR.
¿Qué escenarios pueden requerir un alto nivel de corrección de errores en los códigos QR?
Los altos niveles de corrección de errores son beneficiosos en entornos donde es probable que los códigos QR sufran daños, como entornos industriales o ubicaciones al aire libre, asegurando que los datos permanezcan accesibles. IronQR proporciona flexibilidad al permitirle establecer este nivel.
¿Requiere el uso de IronQR habilidades avanzadas de programación para configurar niveles de corrección de errores?
No, IronQR está diseñado para ser fácil de usar, permitiendo incluso a los principiantes establecer fácilmente niveles de corrección de errores para códigos QR utilizando un código C# sencillo.
¿Puede IronQR ser utilizado para generar códigos QR para aplicaciones empresariales con necesidades específicas de corrección de errores?
Sí, IronQR es ideal para aplicaciones empresariales ya que proporciona niveles de corrección de errores personalizables, asegurando que los códigos QR puedan resistir diversas condiciones mientras mantienen la integridad de los datos.

