Cómo implementar colores personalizados en códigos QR

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

Los códigos QR han evolucionado de simples patrones en blanco y negro a poderosas herramientas de marca. En España, la personalización de colores en los códigos QR está directamente condicionada por marcos regulatorios: el reglamento VERI*FACTU (Real Decreto 1007/2023) exige que el QR de verificación de la AEAT sea legible por cualquier escáner, y las especificaciones de TicketBAI de las haciendas forales de Bizkaia, Gipuzkoa y Araba permiten cierto margen de personalización visual siempre que se respeten los requisitos mínimos de contraste. Personalizar los colores de primer plano y de fondo de sus códigos QR le permite crear diseños visualmente atractivos que refuercen la identidad de marca sin comprometer la conformidad regulatoria.

IronQR facilita la modificación de los colores del código QR usando la clase QrStyleOptions. Puede cambiar el color de primer plano (los módulos oscuros), el color de fondo, o ambos para que coincidan con las pautas de su marca.

En esta guía práctica, vamos a recorrer diferentes formas de personalizar los colores de los códigos QR usando IronQR en C#.

Quickstart: Personalice los colores de los códigos QR

Establezca los colores de primer plano y de fondo a través de QrStyleOptions y guarde el código QR con estilo.

  1. Instala IronQR con el Administrador de Paquetes NuGet

    PM > Install-Package IronQR
  2. Copie y ejecute este fragmento de código.

    var qrCode = QrWriter.Write("https://example.com");
    var style = new QrStyleOptions { Color = Color.DarkBlue, BackgroundColor = Color.LightYellow };
    qrCode.Save(style).SaveAs("colored-qr.png");
  3. Despliegue para probar en su entorno real

    Comienza a usar IronQR en tu proyecto hoy mismo con una prueba gratuita

    arrow pointer

Cambiar el color de fondo

El color de fondo de un código QR es el área más clara que rodea los módulos oscuros. Por defecto, es blanco, pero puede cambiarlo a cualquier color que proporcione suficiente contraste con el primer plano.

Configurar un color de fondo personalizado es útil al colocar códigos QR en superficies de color o cuando desea que coincida con la paleta de colores de su marca. Solo asegúrese de que haya suficiente contraste para que los escáneres lean el código de manera confiable.

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

// Create a QR code
QrCode qr = QrWriter.Write("https://ironsoftware.com/csharp/qr/");

// Set background color
QrStyleOptions styleOptions = new QrStyleOptions()
{
    BackgroundColor = Color.LightBlue
};

// Save QR code with custom background
AnyBitmap qrImage = qr.Save(styleOptions);
qrImage.SaveAs("qrBackgroundColor.png");
Imports IronQr
Imports IronSoftware.Drawing

' Create a QR code
Dim qr As QrCode = QrWriter.Write("https://ironsoftware.com/csharp/qr/")

' Set background color
Dim styleOptions As New QrStyleOptions() With {
    .BackgroundColor = Color.LightBlue
}

' Save QR code with custom background
Dim qrImage As AnyBitmap = qr.Save(styleOptions)
qrImage.SaveAs("qrBackgroundColor.png")
$vbLabelText   $csharpLabel
Código QR con color de fondo personalizado

Cambiar el color de primer plano

El color de primer plano representa los módulos oscuros del código QR: el patrón de datos real que los escáneres leen. Aunque el negro es la elección estándar, puede usar cualquier color más oscuro que mantenga un buen contraste contra su fondo.

Cambiar el color de primer plano le permite incorporar el color primario de su marca en el diseño del código QR. Azules profundos, verdes oscuros o burdeos ricos funcionan bien como alternativas al negro.

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

// Create a QR code
QrCode qr = QrWriter.Write("https://ironsoftware.com/csharp/qr/");

// Set background color
QrStyleOptions styleOptions = new QrStyleOptions()
{
    Color = Color.PaleVioletRed
};

// Save QR code with custom background
AnyBitmap qrImage = qr.Save(styleOptions);
qrImage.SaveAs("qrBackgroundColor.png");
Imports IronQr
Imports IronSoftware.Drawing

' Create a QR code
Dim qr As QrCode = QrWriter.Write("https://ironsoftware.com/csharp/qr/")

' Set background color
Dim styleOptions As New QrStyleOptions() With {
    .Color = Color.PaleVioletRed
}

' Save QR code with custom background
Dim qrImage As AnyBitmap = qr.Save(styleOptions)
qrImage.SaveAs("qrBackgroundColor.png")
$vbLabelText   $csharpLabel
Código QR con color de primer plano personalizado

Conclusión

Personalizar los colores de los códigos QR con IronQR abre posibilidades creativas mientras mantiene sus códigos completamente funcionales:

  • Color de fondo: Utilice BackgroundColor para cambiar el área más clara detrás del patrón QR
  • Color de primer plano: Utilice Color para modificar los módulos oscuros que codifican sus datos
  • Estilo combinado: Establezca ambas propiedades juntas para una alineación completa con la marca

Recuerde mantener un contraste adecuado entre los colores de primer plano y de fondo para garantizar un escaneo confiable en diferentes dispositivos y condiciones de iluminación.

Para más opciones de estilo, incluidos logotipos, márgenes y dimensiones, visite la documentación de IronQR o explore ejemplos de código adicionales en GitHub.

Aplicaciones regulatorias en España

En el mercado español, la personalización de colores en códigos QR está íntimamente ligada a requisitos normativos que van más allá de la identidad de marca. Conocer los límites regulatorios aplicables en cada sector evita costosos rediseños y garantiza la conformidad desde el primer despliegue.

*Contraste mínimo para el QR de AEAT / VERIFACTU.* El reglamento VERIFACTU (Real Decreto 1007/2023) no prescribe colores específicos, pero la AEAT requiere que el QR de verificación sea decodificable por cualquier aplicación de escáner estándar. La práctica recomendada es mantener una relación de contraste mínima de 4:1 entre el color de primer plano (módulos) y el color de fondo, medida según las pautas WCAG 2.1. Un azul corporativo oscuro (#003366) sobre fondo blanco (#FFFFFF) supera ampliamente este umbral y es totalmente compatible con los escáneres de la sede electrónica de la AEAT.

Personalización TicketBAI para proveedores vascos. Las haciendas forales de Bizkaia, Gipuzkoa y Araba permiten que el QR TicketBAI se integre en el diseño del ticket, siempre que el código sea legible. Los proveedores de software de TPV que sirven al comercio minorista y la hostelería del País Vasco suelen adoptar el color corporativo del cliente como primer plano del QR TicketBAI, con el logotipo de la empresa como fondo claro. QrStyleOptions con Color = Color.FromArgb(0, 88, 163) (azul BBVA o similar) y BackgroundColor = Color.White es una combinación habitual en las integraciones de ERP vasco.

DataMatrix farmacéutico: estándares GS1 y AEMPS. La Agencia Española de Medicamentos y Productos Sanitarios (AEMPS) gestiona el Sistema Español de Verificación de Medicamentos (SEVeM), que utiliza DataMatrix conforme a los estándares GS1. GS1 establece que los símbolos DataMatrix deben imprimirse en negro sobre fondo blanco para garantizar la máxima tasa de lectura en líneas de producción automatizadas. Cualquier desviación de color debe validarse con los lectores industriales del entorno de dispensación antes de su implantación.

SILICIE: codificación de color en el sector del alcohol. La AEAT gestiona el sistema SILICIE para el control de contadores de alcohol y tabaco. Los documentos de acompañamiento en este sector incluyen códigos de barras y QR cuyos colores están sujetos a los estándares de impresión de la Agencia Tributaria: fondo blanco y módulos negros o en color oscuro con contraste suficiente para la lectura óptica en almacenes y puntos de control.

Ejemplo práctico: QR TicketBAI personalizado para un proveedor de ERP en Bilbao (Bizkaia)

Un proveedor de software de gestión empresarial con sede en Bilbao desarrolla una actualización de su módulo de TPV para incluir el QR TicketBAI en los tickets de venta. La dirección de arte del cliente exige que el QR adopte los colores corporativos del establecimiento: primer plano en azul marino (#1A2E5A) y fondo en crema (#FDF6E3) para integrarse en el diseño impreso del ticket.

El equipo de desarrollo utiliza IronQR con la siguiente configuración:

using IronQr;
using IronSoftware.Drawing;

var qrCode = QrWriter.Write("https://batuz.eus/QRTBAI?id=TBAI-12345678A-290526-abcde");
var style = new QrStyleOptions
{
    Color = new Color(26, 46, 90),           // Azul marino corporativo
    BackgroundColor = new Color(253, 246, 227) // Fondo crema del ticket
};
qrCode.Save(style).SaveAs("ticketbai-qr.png");
using IronQr;
using IronSoftware.Drawing;

var qrCode = QrWriter.Write("https://batuz.eus/QRTBAI?id=TBAI-12345678A-290526-abcde");
var style = new QrStyleOptions
{
    Color = new Color(26, 46, 90),           // Azul marino corporativo
    BackgroundColor = new Color(253, 246, 227) // Fondo crema del ticket
};
qrCode.Save(style).SaveAs("ticketbai-qr.png");
Imports IronQr
Imports IronSoftware.Drawing

Dim qrCode = QrWriter.Write("https://batuz.eus/QRTBAI?id=TBAI-12345678A-290526-abcde")
Dim style = New QrStyleOptions With {
    .Color = New Color(26, 46, 90),           ' Azul marino corporativo
    .BackgroundColor = New Color(253, 246, 227) ' Fondo crema del ticket
}
qrCode.Save(style).SaveAs("ticketbai-qr.png")
$vbLabelText   $csharpLabel

Antes del despliegue, el equipo verifica la legibilidad del QR generado con tres escáneres de referencia: el lector integrado en la app de Hacienda de Bizkaia, un smartphone Android con app genérica, y el escáner de TPV físico del cliente. Los tres decodifican el QR correctamente, confirmando que la combinación de colores respeta los requisitos de contraste de la especificación TicketBAI de Bizkaia.

Personalice los colores de sus códigos QR TicketBAI, AEAT y SEVeM cumpliendo los estándares regulatorios españoles con IronQR.

Preguntas Frecuentes

¿Qué requisitos de contraste debe cumplir un QR de AEAT / VERI*FACTU?

La AEAT no fija una paleta de colores, pero el QR de verificación VERI*FACTU debe ser decodificable por cualquier escáner estándar. La práctica recomendada es mantener una relación de contraste mínima de 4:1 entre el color de primer plano (módulos) y el color de fondo, conforme a WCAG 2.1. Un azul corporativo oscuro sobre fondo blanco supera este umbral y garantiza compatibilidad con los lectores de la sede electrónica de la AEAT.

¿Puedo personalizar el color de los QR TicketBAI en Bizkaia, Gipuzkoa y Araba?

Las especificaciones TicketBAI de las tres haciendas forales vaskas permiten la personalización visual del QR siempre que se cumplan los requisitos mínimos de lectura. Los proveedores de software de TPV pueden aplicar el color corporativo del cliente mediante QrStyleOptions en IronQR, validando el resultado con los escáneres oficiales de cada hacienda foral antes del despliegue.

¿Cómo puedo personalizar los colores de un código QR usando IronQR?

Puede personalizar los colores de un código QR usando IronQR utilizando la clase `QrStyleOptions`. Esto le permite establecer el color de primer plano con la propiedad `Color` y el color de fondo con la propiedad `BackgroundColor`, proporcionando una manera de coincidir con la identidad visual de su marca.

¿Cuál es la importancia de mantener el contraste en los colores de los códigos QR?

Mantener el contraste entre los colores de primer plano y de fondo de un código QR es crucial para asegurar que los escáneres puedan leer el código de manera confiable. En sistemas regulatorios como VERI*FACTU, TicketBAI y SEVeM, un QR ilegible puede implicar incumplimiento normativo. IronQR le permite cambiar estos colores asegurando que se mantenga el contraste necesario para la funcionalidad.

¿Puedo usar IronQR para hacer coincidir los colores de un código QR con mi marca?

Sí, IronQR le permite ajustar tanto los colores de primer plano como de fondo de un código QR para alinear con la paleta de colores de su marca, mejorando la identidad de la marca mientras asegura que el código QR siga siendo escaneable.

¿Cómo establezco un color de fondo personalizado para un código QR en IronQR?

Para establecer un color de fondo personalizado para un código QR usando IronQR, utilice la propiedad `BackgroundColor` dentro de la clase `QrStyleOptions`, permitiéndole que el código QR coincida con superficies coloreadas o colores de marca.

¿Qué pasos están involucrados en crear un código QR con colores personalizados usando IronQR?

Los pasos incluyen descargar la biblioteca de IronQR, crear un código QR con la clase `QrWriter`, inicializar `QrStyleOptions` para establecer `Color` y `BackgroundColor`, y guardar el código QR diseñado usando el método `SaveAs`.

¿Es posible cambiar el color del primer plano de un código QR con IronQR?

Sí, puede cambiar el color del primer plano de un código QR con IronQR estableciendo la propiedad `Color` en la clase `QrStyleOptions`, permitiendo la incorporación de los colores primarios de su marca en el diseño del código QR.

¿Cuáles son las ventajas de usar colores personalizados en los códigos QR?

Los colores personalizados de los códigos QR pueden mejorar la identidad de la marca y el atractivo estético, haciendo que los códigos QR sean más atractivos y reconocibles mientras mantienen su funcionalidad central y escaneabilidad, una característica soportada por IronQR.

¿Dónde puedo encontrar más ejemplos de estilismo de códigos QR utilizando IronQR?

Se pueden encontrar más ejemplos de estilismo de códigos QR con IronQR en la [documentación de IronQR](https://ironsoftware.com/csharp/qr/) y hay ejemplos de código adicionales disponibles en [GitHub](https://github.com/iron-software/IronQr.Examples).

¿Se pueden cambiar simultáneamente los colores de primer plano y de fondo en IronQR?

Sí, IronQR te permite cambiar simultáneamente los colores de primer plano y de fondo estableciendo las propiedades respectivas en la clase `QrStyleOptions`, permitiendo una personalización completa del aspecto del código QR.

¿Para qué se utiliza la clase `QrStyleOptions` en IronQR?

La clase `QrStyleOptions` en IronQR se utiliza para personalizar la apariencia de los códigos QR, incluyendo el establecimiento de los colores de primer plano (`Color`) y fondo (`BackgroundColor`) para alinearse con requisitos específicos de diseño o marca.

Ahmad Sohail
Desarrollador Full Stack

Ahmad es un desarrollador full-stack con una sólida base en C#, Python y tecnologías web. Tiene un profundo interés en construir soluciones de software escalables y disfruta explorando cómo el diseño y la funcionalidad se encuentran en aplicaciones del mundo real.

Antes ...

Leer más
¿Listo para empezar?
Nuget Descargas 67,270 | Versión: 2026.5 just released
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronQR
ejecuta una muestra observa cómo tu URL se convierte en un código QR.