Cómo usar seguimiento de OcrProgress en C#

Personalice y estilice códigos de barras en C# para .NET con IronBarcode

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

IronBarcode permite a los desarrolladores personalizar los códigos de barras en C# cambiando los colores, redimensionando las dimensiones y añadiendo anotaciones, con sencillas llamadas a métodos como ChangeBarCodeColor() y ResizeTo() para un control total del estilo.

A lo largo de los años, el uso de códigos de barras se ha hecho cada vez más popular y se utiliza en una amplia gama de aplicaciones, ya sea para almacenar datos, ID o URL de páginas web. En algunas aplicaciones, los códigos de barras se hacen visibles en los productos, lo que da lugar a una mayor demanda de opciones de estilo. Por lo tanto, algunos tipos de códigos de barras han desarrollado apariencias únicas como PDF417, Aztec, IntelligentMail, MaxiCode, DataMatrix, y muchos más. Para obtener una lista completa de los formatos admitidos, consulte nuestra documentación Formatos de códigos de barras admitidos.

Además, IronBarcode proporciona a los usuarios opciones para dar más estilo a los códigos de barras, incluyendo aspectos como colores del código de barras, redimensionamiento del código de barras y colores de fondo. Esto es posible con la asistencia de nuestra biblioteca de código abierto, IronDrawing. Estas funciones de estilo se basan en las completas funciones de generación de códigos de barras de IronBarcode .

Guía Rápida: Personalizar Color y Fondo del Código de Barras

He aquí un sencillo ejemplo que muestra cómo los desarrolladores pueden aplicar rápidamente colores personalizados a las barras y al fondo de un código de barras utilizando IronBarcode. Verá lo fácil que es generar un código de barras con estilo con una sola llamada encadenada. Si desea ver ejemplos más avanzados, consulte nuestro Tutorial del generador de imágenes de códigos de barras en C#.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronBarcode con el gestor de paquetes NuGet

    PM > Install-Package BarCode

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

    IronBarCode.BarcodeWriter.CreateBarcode("HELLO123", IronBarCode.BarcodeEncoding.Code128)
        .ChangeBarCodeColor(IronSoftware.Drawing.Color.Blue)
        .ChangeBackgroundColor(IronSoftware.Drawing.Color.White)
        .SaveAsImage("styled.png");
  3. Despliegue para probar en su entorno real

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

¿Cómo cambiar el tamaño de un BarCode?

¿Cuándo debo utilizar el método ResizeTo?

Cambiar el tamaño de un código de barras es un aspecto de personalización que los usuarios pueden lograr con IronBarcode. Para usar esta función, simplemente llame al método ResizeTo e ingrese las nuevas medidas de ancho y alto en píxeles (px) para el código de barras. Esta acción provoca una nueva representación del código de barras sin pérdidas. Este método mantiene la calidad del código de barras a la vez que ajusta sus dimensiones, por lo que es perfecto para situaciones en las que es necesario ajustar los códigos de barras a diseños o tamaños de impresión específicos.

Por favor notaLos valores que sean demasiado pequeños para que el código de barras sea legible serán ignorados.

using IronBarCode;

public class BarcodeResizer
{
    public static void ResizeBarcode(string barcodeText, int newWidth, int newHeight)
    {
        // Generate a barcode
        BarcodeWriter.CreateBarcode(barcodeText, BarcodeEncoding.Code128)
                     // Resize the barcode
                     .ResizeTo(newWidth, newHeight)
                     // Save the resized barcode
                     .SaveAsImage("resized_barcode.png");
    }

    // Example usage with different size requirements
    public static void ResizeForDifferentFormats()
    {
        var barcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128);

        // Resize for product label
        barcode.ResizeTo(200, 50).SaveAsImage("product_label.png");

        // Resize for shipping label
        barcode.ResizeTo(300, 75).SaveAsImage("shipping_label.png");

        // Resize for inventory tag
        barcode.ResizeTo(150, 40).SaveAsImage("inventory_tag.png");
    }
}
using IronBarCode;

public class BarcodeResizer
{
    public static void ResizeBarcode(string barcodeText, int newWidth, int newHeight)
    {
        // Generate a barcode
        BarcodeWriter.CreateBarcode(barcodeText, BarcodeEncoding.Code128)
                     // Resize the barcode
                     .ResizeTo(newWidth, newHeight)
                     // Save the resized barcode
                     .SaveAsImage("resized_barcode.png");
    }

    // Example usage with different size requirements
    public static void ResizeForDifferentFormats()
    {
        var barcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128);

        // Resize for product label
        barcode.ResizeTo(200, 50).SaveAsImage("product_label.png");

        // Resize for shipping label
        barcode.ResizeTo(300, 75).SaveAsImage("shipping_label.png");

        // Resize for inventory tag
        barcode.ResizeTo(150, 40).SaveAsImage("inventory_tag.png");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

El método ResizeTo se puede invocar en el objeto GeneratedBarcode. Cuando trabaje con diferentes formatos de salida, también puede explorar nuestra guía Crear código de barras como PDF. A continuación se muestran las imágenes de código de barras generadas al ejecutar el fragmento de código anterior.

Original barcode with standard dimensions before resize operation
Resized barcode showing clear black and white vertical bars after dimension modification

¿Por qué utilizar el método ResizeToMil para códigos de barras 1D?

Otro aspecto de cambiar de tamaño disponible en IronBarcode es el método ResizeToMil. A diferencia del método ResizeTo, este ajusta los siguientes componentes:

  • Elemento del código de barras: El ancho del elemento más estrecho del código de barras, medido en milésimas de pulgada (mil).
  • Altura: La altura del código de barras, medida en pulgadas (el valor predeterminado es 1 pulgada).
  • Resolución: Puntos por pulgada (el valor predeterminado es 96 DPI).

Este método es especialmente adecuado para los códigos de barras 1D y se utiliza habitualmente en aplicaciones industriales en las que las mediciones precisas son fundamentales. El sistema de medición mil es una norma del sector que garantiza la legibilidad uniforme de los códigos de barras en diferentes escáneres y condiciones de impresión.

using IronBarCode;

public class BarcodeResizer
{
    public static void ResizeBarcodeToMil(string barcodeText, int elementWidthMil, int heightInches, int dpi = 96)
    {
        // Generate a barcode
        BarcodeWriter.CreateBarcode(barcodeText, BarcodeEncoding.Code128)
                     // Resize the barcode to mil
                     .ResizeToMil(elementWidthMil, heightInches, dpi)
                     // Save the resized barcode
                     .SaveAsImage("resized_barcode_mil.png");
    }

    // Example for different industrial standards
    public static void CreateIndustrialBarcodes()
    {
        // Standard retail barcode (10 mil width, 1 inch height)
        BarcodeWriter.CreateBarcode("RETAIL-001", BarcodeEncoding.Code128)
                     .ResizeToMil(10, 1, 300)
                     .SaveAsImage("retail_barcode.png");

        // High-density warehouse barcode (5 mil width, 0.5 inch height)
        BarcodeWriter.CreateBarcode("WAREHOUSE-002", BarcodeEncoding.Code128)
                     .ResizeToMil(5, 0.5f, 600)
                     .SaveAsImage("warehouse_barcode.png");

        // Large shipping barcode (15 mil width, 2 inch height)
        BarcodeWriter.CreateBarcode("SHIP-003", BarcodeEncoding.Code128)
                     .ResizeToMil(15, 2, 200)
                     .SaveAsImage("shipping_barcode.png");
    }
}
using IronBarCode;

public class BarcodeResizer
{
    public static void ResizeBarcodeToMil(string barcodeText, int elementWidthMil, int heightInches, int dpi = 96)
    {
        // Generate a barcode
        BarcodeWriter.CreateBarcode(barcodeText, BarcodeEncoding.Code128)
                     // Resize the barcode to mil
                     .ResizeToMil(elementWidthMil, heightInches, dpi)
                     // Save the resized barcode
                     .SaveAsImage("resized_barcode_mil.png");
    }

    // Example for different industrial standards
    public static void CreateIndustrialBarcodes()
    {
        // Standard retail barcode (10 mil width, 1 inch height)
        BarcodeWriter.CreateBarcode("RETAIL-001", BarcodeEncoding.Code128)
                     .ResizeToMil(10, 1, 300)
                     .SaveAsImage("retail_barcode.png");

        // High-density warehouse barcode (5 mil width, 0.5 inch height)
        BarcodeWriter.CreateBarcode("WAREHOUSE-002", BarcodeEncoding.Code128)
                     .ResizeToMil(5, 0.5f, 600)
                     .SaveAsImage("warehouse_barcode.png");

        // Large shipping barcode (15 mil width, 2 inch height)
        BarcodeWriter.CreateBarcode("SHIP-003", BarcodeEncoding.Code128)
                     .ResizeToMil(15, 2, 200)
                     .SaveAsImage("shipping_barcode.png");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

También puede llamar a este método en el objeto GeneratedBarcode. Para obtener más información sobre la configuración de dimensiones precisas de códigos de barras, consulte nuestra guía Configurar márgenes de códigos de barras. En la imagen siguiente, verá los efectos de aplicar el método ResizeToMil: se eliminan los espacios en blanco de los bordes del código de barras, y tanto el elemento más estrecho como la altura del código de barras se ajustan según los valores de los parámetros proporcionados al método.

Original barcode with standard dimensions before ResizeToMil method is applied
Linear barcode showing result after ResizeToMil method application with vertical black and white bars

¿Cómo puedo cambiar los colores del código de barras y del fondo?

Una de las características más buscadas para estilizar códigos de barras es la capacidad de cambiar tanto el color del código de barras como el del fondo. Gracias a IronDrawing, IronBarcode proporciona esta capacidad. Al usar ambos métodos ChangeBarCodeColor y ChangeBackgroundColor en el objeto GeneratedBarcode, los usuarios pueden alterar los colores del código de barras y su fondo. Esta función es especialmente útil para la creación de marcas o de códigos de barras temáticos para eventos especiales o líneas de productos.

using IronBarCode;
using IronSoftware.Drawing; // Required for color manipulation

public class BarcodeColorChanger
{
    public static void ChangeBarcodeColors(string barcodeText, Color barcodeColor, Color backgroundColor)
    {
        // Generate a barcode
        var barcode = BarcodeWriter.CreateBarcode(barcodeText, BarcodeEncoding.Code128);

        // Change the barcode color
        barcode.ChangeBarCodeColor(barcodeColor);

        // Change the background color
        barcode.ChangeBackgroundColor(backgroundColor);

        // Save the colored barcode
        barcode.SaveAsImage("colored_barcode.png");
    }

    // Example: Create branded barcodes with company colors
    public static void CreateBrandedBarcodes()
    {
        // Company brand colors example
        var barcode = BarcodeWriter.CreateBarcode("BRAND-2024", BarcodeEncoding.Code128);

        // Apply brand colors
        barcode.ChangeBarCodeColor(Color.FromHex("#1E3A8A")) // Company blue
               .ChangeBackgroundColor(Color.FromHex("#F3F4F6")) // Light gray background
               .SaveAsImage("branded_barcode.png");

        // Create seasonal variation
        var seasonalBarcode = BarcodeWriter.CreateBarcode("HOLIDAY-2024", BarcodeEncoding.Code128);
        seasonalBarcode.ChangeBarCodeColor(Color.DarkGreen)
                       .ChangeBackgroundColor(Color.LightYellow)
                       .SaveAsImage("seasonal_barcode.png");
    }
}
using IronBarCode;
using IronSoftware.Drawing; // Required for color manipulation

public class BarcodeColorChanger
{
    public static void ChangeBarcodeColors(string barcodeText, Color barcodeColor, Color backgroundColor)
    {
        // Generate a barcode
        var barcode = BarcodeWriter.CreateBarcode(barcodeText, BarcodeEncoding.Code128);

        // Change the barcode color
        barcode.ChangeBarCodeColor(barcodeColor);

        // Change the background color
        barcode.ChangeBackgroundColor(backgroundColor);

        // Save the colored barcode
        barcode.SaveAsImage("colored_barcode.png");
    }

    // Example: Create branded barcodes with company colors
    public static void CreateBrandedBarcodes()
    {
        // Company brand colors example
        var barcode = BarcodeWriter.CreateBarcode("BRAND-2024", BarcodeEncoding.Code128);

        // Apply brand colors
        barcode.ChangeBarCodeColor(Color.FromHex("#1E3A8A")) // Company blue
               .ChangeBackgroundColor(Color.FromHex("#F3F4F6")) // Light gray background
               .SaveAsImage("branded_barcode.png");

        // Create seasonal variation
        var seasonalBarcode = BarcodeWriter.CreateBarcode("HOLIDAY-2024", BarcodeEncoding.Code128);
        seasonalBarcode.ChangeBarCodeColor(Color.DarkGreen)
                       .ChangeBackgroundColor(Color.LightYellow)
                       .SaveAsImage("seasonal_barcode.png");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Cuando se trabaja con códigos de barras de colores, es importante mantener un contraste suficiente entre el código de barras y los colores de fondo para garantizar la legibilidad. Para obtener más opciones de estilo específicas de los códigos QR, consulte nuestro tutorial Personalización y estilo de los códigos QR.

Código QR con fondo verde personalizado y colores de primer plano tostados para mostrar la personalización del color del código de barras

¿Cómo añadir anotaciones a un BarCode?

IronBarcode también ofrece la opción de añadir y estilizar anotaciones en los códigos de barras. El estilo para anotaciones también se asiste con la funcionalidad de IronDrawing, incluyendo la edición del color y las fuentes de las anotaciones. Las anotaciones son esenciales para proporcionar información legible por humanos junto con el código de barras legible por máquinas, por lo que son cruciales para la gestión de inventarios, el etiquetado de productos y las aplicaciones de envío.

using IronBarCode;
using IronSoftware.Drawing; // Required for font and color manipulation

public class BarcodeAnnotator
{
    public static void AnnotateBarcode(string barcodeText, string annotationText, Font annotationFont, Color annotationColor, float annotationSpacing)
    {
        // Generate a barcode
        var barcode = BarcodeWriter.CreateBarcode(barcodeText, BarcodeEncoding.Code128);

        // Add annotation above the barcode
        barcode.AddAnnotationTextAboveBarcode(annotationText, annotationFont, annotationColor, annotationSpacing);

        // Add barcode value text below the barcode
        barcode.AddBarcodeValueTextBelowBarcode(annotationFont, annotationColor, annotationSpacing);

        // Save the annotated barcode
        barcode.SaveAsImage("annotated_barcode.png");
    }

    // Example: Create product label with annotations
    public static void CreateProductLabel()
    {
        var productCode = "PRD-12345-XL";
        var barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128);

        // Define fonts for different purposes
        var titleFont = new Font("Arial", FontStyle.Bold, 14);
        var valueFont = new Font("Arial", FontStyle.Regular, 12);

        // Add product name above
        barcode.AddAnnotationTextAboveBarcode("Premium Widget XL", titleFont, Color.Black, 5);

        // Add product code below
        barcode.AddBarcodeValueTextBelowBarcode(valueFont, Color.DarkGray, 3);

        // Apply additional styling
        barcode.ResizeTo(250, 80)
               .SaveAsImage("product_label_annotated.png");
    }
}
using IronBarCode;
using IronSoftware.Drawing; // Required for font and color manipulation

public class BarcodeAnnotator
{
    public static void AnnotateBarcode(string barcodeText, string annotationText, Font annotationFont, Color annotationColor, float annotationSpacing)
    {
        // Generate a barcode
        var barcode = BarcodeWriter.CreateBarcode(barcodeText, BarcodeEncoding.Code128);

        // Add annotation above the barcode
        barcode.AddAnnotationTextAboveBarcode(annotationText, annotationFont, annotationColor, annotationSpacing);

        // Add barcode value text below the barcode
        barcode.AddBarcodeValueTextBelowBarcode(annotationFont, annotationColor, annotationSpacing);

        // Save the annotated barcode
        barcode.SaveAsImage("annotated_barcode.png");
    }

    // Example: Create product label with annotations
    public static void CreateProductLabel()
    {
        var productCode = "PRD-12345-XL";
        var barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128);

        // Define fonts for different purposes
        var titleFont = new Font("Arial", FontStyle.Bold, 14);
        var valueFont = new Font("Arial", FontStyle.Regular, 12);

        // Add product name above
        barcode.AddAnnotationTextAboveBarcode("Premium Widget XL", titleFont, Color.Black, 5);

        // Add product code below
        barcode.AddBarcodeValueTextBelowBarcode(valueFont, Color.DarkGray, 3);

        // Apply additional styling
        barcode.ResizeTo(250, 80)
               .SaveAsImage("product_label_annotated.png");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel
Código QR verde azulado y beige generado por IronBarcode que contiene la URL ironsoftware.com

Como una extensión del fragmento de código anterior, instanciamos dos nuevos objetos Iron Software.Drawing.Font para servir como fuentes para anotaciones tanto por encima como por debajo del código de barras. Sólo se requiere la Familia de fuentes para instanciar la fuente, aunque se pueden especificar propiedades adicionales como tamaño y estilo para un mayor control.

  • AddAnnotationTextAboveBarcode: Añade texto de anotación personalizado por encima del código de barras.
  • AddBarcodeValueTextBelowBarcode: Añade el valor del código de barras debajo del código de barras.

Estos dos métodos aceptan los mismos parámetros: los objetos Iron Software.Drawing.Font, un objeto Iron Software.Drawing.Color y la cantidad de espacio entre el código de barras y el texto. Además, el método AddAnnotationTextAboveBarcode requiere un texto de anotación en forma de cadena, ya que añade texto personalizado por encima del código de barras.

IronBarcode ofrece una amplia gama de opciones de personalización para dar estilo a los códigos de barras. Para las aplicaciones que requieren soporte Unicode en las anotaciones, consulte nuestra guía Escribir códigos de barras Unicode. Para obtener más información sobre la personalización de códigos QR, consulte "Cómo personalizar y añadir logotipos a códigos QR". Para exportar códigos de barras estilizados a diferentes formatos, explore nuestro tutorial Crear código de barras como HTML.

Preguntas Frecuentes

¿Cómo puedo cambiar el color de un código de barras en C#?

IronBarcode proporciona el método ChangeBarCodeColor() para personalizar fácilmente los colores de los códigos de barras. Simplemente encadene este método después de crear su código de barras para aplicar cualquier color de la paleta IronSoftware.Drawing.Color, permitiendo un control completo sobre la apariencia visual de sus códigos de barras.

¿Qué método debo utilizar para cambiar el tamaño de un código de barras sin perder calidad?

Utilice el método ResizeTo() de IronBarcode para cambiar el tamaño de los códigos de barras sin pérdida de calidad. Este método activa un redimensionamiento sin pérdidas del código de barras a la anchura y altura especificadas en píxeles, manteniendo la claridad al tiempo que se ajustan las dimensiones para adaptarse a diseños específicos o requisitos de impresión.

¿Puedo personalizar el color de fondo de mis códigos de barras?

Sí, IronBarcode permite personalizar los fondos de los códigos de barras mediante el método ChangeBackgroundColor(). Esta función le permite establecer cualquier color de fondo utilizando la paleta IronSoftware.Drawing.Color, lo que permite una integración perfecta con sus requisitos de diseño.

¿Qué formatos de código de barras admiten opciones de estilo exclusivas?

IronBarcode admite varios formatos de código de barras con apariencias únicas, incluidos PDF417, Aztec, IntelligentMail, MaxiCode y DataMatrix. Cada formato tiene sus propias características visuales, al tiempo que permite una personalización adicional a través de los métodos de estilización de IronBarcode.

¿Cómo se añaden anotaciones a los códigos de barras?

IronBarcode le permite añadir anotaciones encima y debajo de los códigos de barras, mejorando la legibilidad y proporcionando contexto adicional. Esta función es especialmente útil para añadir texto legible, códigos de producto u otra información identificativa junto al código de barras.

¿Cuál es la diferencia entre los métodos ResizeTo y ResizeToMil?

IronBarcode ofrece dos métodos de cambio de tamaño: ResizeTo() para el redimensionamiento basado en píxeles con redimensionamiento sin pérdidas, y ResizeToMil() para redimensionar el elemento del código de barras utilizando medidas mil. Ambos métodos mantienen la calidad a la vez que satisfacen diferentes requisitos de medición.

Hairil Hasyimi Bin Omar
Ingeniero de Software
Como todos los grandes ingenieros, Hairil es un ávido aprendiz. Está refinando su conocimiento de C#, Python y Java, usando ese conocimiento para agregar valor a los miembros del equipo en Iron Software. Hairil se unió al equipo de Iron Software desde la Universiti Teknologi MARA en Malasia, donde se ...
Leer más
¿Listo para empezar?
Nuget Descargas 2,002,059 | Versión: 2025.12 recién lanzado