Cómo personalizar y añadir logotipos a los códigos QR

por Hairil Hasyimi Bin Omar

Los códigos QR han ganado popularidad frente a los códigos de barras tradicionales debido a su mayor capacidad de datos y facilidad de escaneado. Se valoran especialmente en marketing por su capacidad de personalización, que incluye opciones para añadir logotipos, cambiar colores e incorporar otros elementos de marca.

Para satisfacer esta demanda, IronBarcode ofrece un conjunto de funciones para personalizar los códigos QR. Los usuarios pueden crear códigos QR con logotipos, cambiar los esquemas de color y añadir anotaciones. Estas capacidades están potenciadas por IronDrawinguna biblioteca gratuita y de código abierto.



Biblioteca NuGet C# para

Instalar con NuGet

Install-Package BarCode
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

Crear códigos QR con logotipo Ejemplo

Se requiere un objeto QRCodeLogo para incrustar la imagen del logo mientras se genera el código QR. El método CreateQrCodeWithLogo también se utiliza para generar un código QR con un logotipo.

:path=/static-assets/barcode/content-code-examples/how-to/customize-qr-code-style-logo.cs
using IronBarCode;
using IronSoftware.Drawing;

AnyBitmap qrlogo = AnyBitmap.FromFile("ironbarcode_top.webp");

QRCodeLogo logo = new QRCodeLogo(qrlogo, 0, 0, 20f);

GeneratedBarcode QrCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", logo, 250);

QrCodeWithLogo.SaveAsPng("QrCodeWLogo2.png");
Imports IronBarCode
Imports IronSoftware.Drawing

Private qrlogo As AnyBitmap = AnyBitmap.FromFile("ironbarcode_top.webp")

Private logo As New QRCodeLogo(qrlogo, 0, 0, 20F)

Private QrCodeWithLogo As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", logo, 250)

QrCodeWithLogo.SaveAsPng("QrCodeWLogo2.png")
VB   C#
Código QR con logotipo

Examinemos el código QR de salida generado por el código anterior. Podemos ver que el código QR presenta un logotipo en el centro, con bordes redondeados.

Para personalizar el logotipo, es necesario rellenar ciertos campos al crear un nuevo objeto QRCodeLogo. A continuación se explican los campos obligatorios:

  • Importación de imágenes: Puedes importar imágenes de múltiples formas, como desde AnyBitmap, Stream, Byte Array, filepath relativo, o URI.
  • Dimensiones de la imagen: Especifique la anchura y la altura deseadas de la imagen del logotipo en píxeles. Si la imagen es demasiado grande para que el código QR sea legible, se lanzará una excepción. Utilice el valor 0 para determinar automáticamente el mayor tamaño viable.
  • Esquinas de la imagen: Establezca el radio de las esquinas redondeadas de la imagen del logotipo. Utilice el valor predeterminado 0 para las esquinas cuadradas.

    Por último, para exportar el código QR generado, basta con invocar un método de guardado. Dispone de múltiples opciones de exportación, entre ellas archivos de imagen, Corrientes, HTML y PDF.

Cambiar el color del código QR Ejemplo

Además de la posibilidad de añadir un logotipo a su código QR, IronBarcode también permite a los usuarios personalizar aún más su código QR cambiando su color. Con nuestro IronDrawing los usuarios pueden definir fácilmente sus propios colores utilizando valores RGB o códigos de color hexadecimales y aplicarlos al código QR. Veamos el fragmento de código que demuestra esta función y el código QR resultante que obtenemos al ejecutar este código.

:path=/static-assets/barcode/content-code-examples/how-to/customize-qr-code-style-logo-color.cs
using IronBarCode;
using IronSoftware.Drawing;

AnyBitmap qrlogo = AnyBitmap.FromFile("ironbarcode_top.webp");

QRCodeLogo logo = new QRCodeLogo(qrlogo, 0, 0, 20f);

IronSoftware.Drawing.Color ColorFromRgb = new IronSoftware.Drawing.Color(51, 51, 153);

GeneratedBarcode QrCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", logo, 250);
GeneratedBarcode QrCodeWithLogoAndColor = QrCodeWithLogo.ChangeBarCodeColor(ColorFromRgb);
QrCodeWithLogoAndColor.SaveAsPng("ColorQrCodeWithLogo.png");
Imports IronBarCode
Imports IronSoftware.Drawing

Private qrlogo As AnyBitmap = AnyBitmap.FromFile("ironbarcode_top.webp")

Private logo As New QRCodeLogo(qrlogo, 0, 0, 20F)

Private ColorFromRgb As New IronSoftware.Drawing.Color(51, 51, 153)

Private QrCodeWithLogo As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", logo, 250)
Private QrCodeWithLogoAndColor As GeneratedBarcode = QrCodeWithLogo.ChangeBarCodeColor(ColorFromRgb)
QrCodeWithLogoAndColor.SaveAsPng("ColorQrCodeWithLogo.png")
VB   C#
Código QR con logotipo y color personalizados

El fragmento de código anterior amplía un ejemplo anterior sobre la creación de códigos QR con un logotipo. Demuestra cómo cambiar el color del código QR usando el método ChangeBarCodeColor, que toma un objeto IronSoftware.Drawing.Color como entrada. Puede crear este objeto utilizando valores RGB, códigos hexadecimales o enums predefinidos. Visite nuestro "Crear color" para saber más.

Ejemplo de anotación de un código QR

Otro aspecto importante a la hora de personalizar o dar estilo a un código QR es añadir anotaciones dentro de la imagen del código QR. Estas anotaciones pueden ser el propio valor del código de barras o un texto personalizado con fines promocionales o de marketing.

Ahora, examinemos la implementación de estos métodos y la imagen de código QR resultante generada por el siguiente fragmento de código.

:path=/static-assets/barcode/content-code-examples/how-to/customize-qr-code-style-logo-color-annotation.cs
using IronBarCode;
using IronSoftware.Drawing;

AnyBitmap qrlogo = AnyBitmap.FromFile("ironbarcode_top.webp");

QRCodeLogo logo = new QRCodeLogo(qrlogo, 0, 0, 20f);

Color colorForBarcode = new Color(51, 51, 153); //  color de RGB
Color annotationAboveBarcodeColor = new Color("#176feb");  //  color de Hex
Font annotationAboveBarcodeFont = new Font("Candara", FontStyle.Bold, 15);
Color barcodeValueBelowBarcodeColor = new Color("#6e53bb");
Font barcodeValueBelowBarcodeFont = new Font("Cambria", FontStyle.Regular, 15);

GeneratedBarcode qrCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", logo, 250);
GeneratedBarcode qrCodeWithLogoAndColor = qrCodeWithLogo.ChangeBarCodeColor(colorForBarcode);
GeneratedBarcode qrCodeWithAnnotation = qrCodeWithLogoAndColor.AddAnnotationTextAboveBarcode("IronBarcodeRocks!", annotationAboveBarcodeFont, annotationAboveBarcodeColor, 2).AddBarcodeValueTextBelowBarcode(barcodeValueBelowBarcodeFont, barcodeValueBelowBarcodeColor, 2);
qrCodeWithAnnotation.SaveAsPng("QRCodeWithAnnotation.png");
Imports IronBarCode
Imports IronSoftware.Drawing

Private qrlogo As AnyBitmap = AnyBitmap.FromFile("ironbarcode_top.webp")

Private logo As New QRCodeLogo(qrlogo, 0, 0, 20F)

Private colorForBarcode As New Color(51, 51, 153) '  color de RGB
Private annotationAboveBarcodeColor As New Color("#176feb") '  color de Hex
Private annotationAboveBarcodeFont As New Font("Candara", FontStyle.Bold, 15)
Private barcodeValueBelowBarcodeColor As New Color("#6e53bb")
Private barcodeValueBelowBarcodeFont As New Font("Cambria", FontStyle.Regular, 15)

Private qrCodeWithLogo As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", logo, 250)
Private qrCodeWithLogoAndColor As GeneratedBarcode = qrCodeWithLogo.ChangeBarCodeColor(colorForBarcode)
Private qrCodeWithAnnotation As GeneratedBarcode = qrCodeWithLogoAndColor.AddAnnotationTextAboveBarcode("IronBarcodeRocks!", annotationAboveBarcodeFont, annotationAboveBarcodeColor, 2).AddBarcodeValueTextBelowBarcode(barcodeValueBelowBarcodeFont, barcodeValueBelowBarcodeColor, 2)
qrCodeWithAnnotation.SaveAsPng("QRCodeWithAnnotation.png")
VB   C#
Código QR con anotación

IronBarcode proporciona métodos para establecer la posición de la anotación (encima o debajo del código QR) así como su familia y color de fuente. A continuación se indican los métodos disponibles para esta funcionalidad:

  • Añadir texto de anotación sobre código QR: Añade texto de anotación sobre el código QR.
  • AñadirTextoDeAnotaciónDebajoDelCódigo: Añade texto de anotación debajo del código QR.
  • Añadir texto del valor del código de barras por encima del código QR: Añade el texto del valor del código de barras sobre el código QR.
  • Añadir texto de valor del código de barras debajo del código QR: Añade el texto del valor del código de barras debajo del código QR.

Personalización del valor de la anotación y del código de barras

Los cuatro métodos mencionados aceptan una fuente personalizada como objeto IronSoftware.Drawing.Font, el color como objeto IronSoftware.Drawing.Color y un número entero para especificar el espaciado superior e inferior del texto en píxeles. Tenga en cuenta que estos parámetros son opcionales; si no se especifica, se utilizarán la fuente, el color y el espaciado predeterminados.

En pocas palabras, IronBarcode es una herramienta ideal para crear y personalizar su código QR. Aparte de los métodos directos utilizados para las personalizaciones, IronBarcode también utilizaba nuestra propia IronDrawing como librería de ayuda para todo lo relacionado con el procesamiento de imágenes, lo que suponía ser más estable que depender de otras librerías externas.