Cómo personalizar y añadir logotipos a los códigos QR
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 son impulsadas por IronDrawing, una biblioteca gratuita y de código abierto.
Empezar a utilizar IronBarcode
Comience a usar IronBarcode en su proyecto hoy con una prueba gratuita.
Cómo personalizar y añadir logotipos a los códigos QR
- Download the C# library for customizing and adding logos to QR codes
- Utilice el método
CreateQrCodeWithLogo
para crear un código QR con un logo - Utiliza el método
ChangeBarCodeColor
para añadir colores personalizados al código QR - Agrega anotaciones al código QR utilizando el método
AddAnnotationTextAboveBarcode
- Mostrar el valor del código QR usando el método
AddBarcodeValueTextBelowBarcode
Crear códigos QR con logotipo Ejemplo
Se requiere un objeto QRCodeLogo para incrustar la imagen del logo al generar 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")

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, necesitas completar 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 maneras, 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. Usted tiene múltiples opciones de exportación, incluyendo archivos de imagen, Streams, 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 nuestra biblioteca de IronDrawing, los usuarios pueden definir fácilmente sus propios colores utilizando valores RGB o códigos de color Hex 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")
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 ejemplo de código "Create Color" para obtener más información.
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 from RGB
Color annotationAboveBarcodeColor = new Color("#176feb"); // color from 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 from RGB
Private annotationAboveBarcodeColor As New Color("#176feb") ' color from 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")

IronBarcode proporciona métodos para establecer la posición de la anotación (arriba o abajo del código QR) así como su familia de fuentes y color. A continuación se indican los métodos disponibles para esta funcionalidad:
AddAnnotationTextAboveBarcode
: Agrega texto de anotación sobre el código QR.AddAnnotationTextBelowBarcode
: Agrega un texto de anotación debajo del código QR.AddBarcodeValueTextAboveBarcode
: Agrega el texto del valor del código de barras encima del código QR.AddBarcodeValueTextBelowBarcode
: Agrega 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
Todos los cuatro métodos mencionados anteriormente aceptan una fuente personalizada como un objeto IronSoftware.Drawing.Font, color como un objeto IronSoftware.Drawing.Color, y un entero para especificar el espacio 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.