Como usar o rastreamento de progresso Ocr em C#

Personalize e Estilize Códigos de Barras em C# for .NET com IronBarcode

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

IronBarcode permite que os desenvolvedores personalizem códigos de barras em C# alterando cores, redimensionando dimensões e adicionando anotações, com chamadas de métodos simples como ChangeBarCodeColor() e ResizeTo() para controle completo de estilo.

Ao longo dos anos, o uso de códigos de barras tornou-se cada vez mais popular e é utilizado em uma ampla gama de aplicações, seja para armazenar dados, IDs ou URLs de páginas da web. Em algumas aplicações, os códigos de barras são tornados visíveis em produtos, resultando em uma demanda crescente por opções de estilo. Portanto, alguns tipos de código de barras desenvolveram aparências únicas, como PDF417, Aztec, IntelligentMail, MaxiCode, DataMatrix e muitos mais. Para uma lista abrangente de formatos suportados, consulte nossa documentação de Formatos de Código de Barras Suportados.

Além disso, o IronBarcode fornece aos usuários opções para estilizar ainda mais os códigos de barras, incluindo aspectos como cores do código de barras, redimensionamento do código de barras e cores de fundo. Isso é possível com a assistência de nossa biblioteca de código aberto, IronDrawing. Essas capacidades de estilo se baseiam nos recursos abrangentes de geração de códigos de barras do IronBarcode.

Início Rápido: Personalizar Cor do Código de Barras e Fundo

Aqui está um exemplo simples mostrando como os desenvolvedores podem aplicar rapidamente cores personalizadas às barras e ao fundo de um código de barras usando o IronBarcode. Você verá como é fácil gerar um código de barras estilizado com apenas uma chamada encadeada. Para exemplos mais avançados, confira nosso tutorial Gerador de Imagens de Código de Barras em C#.

  1. Instale IronBarcode com o Gerenciador de Pacotes NuGet

    PM > Install-Package BarCode
  2. Copie e execute este trecho de código.

    IronBarCode.BarcodeWriter.CreateBarcode("HELLO123", IronBarCode.BarcodeEncoding.Code128)
        .ChangeBarCodeColor(IronSoftware.Drawing.Color.Blue)
        .ChangeBackgroundColor(IronSoftware.Drawing.Color.White)
        .SaveAsImage("styled.png");
  3. Implante para testar em seu ambiente de produção.

    Comece a usar IronBarcode em seu projeto hoje com uma avaliação gratuita

    arrow pointer

Como Redimensiono um Código de Barras?

Quando Devo Usar o Método ResizeTo?

Redimensionar um código de barras é um dos aspectos da personalização que os usuários podem alcançar com o IronBarcode. Para usar este recurso, basta chamar o método ResizeTo e inserir as novas medidas de largura e altura em pixels (px) para o código de barras. Esta ação aciona uma re-renderização sem perda do código de barras. Este método mantém a qualidade do código de barras enquanto ajusta suas dimensões, tornando-o perfeito para cenários onde é necessário encaixar códigos de barras em layouts ou tamanhos de impressão específicos.

ObserveValores muito pequenos para que o código de barras seja legível serão 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");
    }
}
$vbLabelText   $csharpLabel

O método ResizeTo pode ser invocado no objeto GeneratedBarcode. Ao trabalhar com diferentes formatos de saída, você também pode querer explorar nosso guia Criar Código de Barras como PDF. Abaixo estão as imagens do código de barras geradas executando o trecho de código acima.

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

Por Que Usar o Método ResizeToMil para Códigos de Barras 1D?

Outro aspecto de redimensionamento disponível no IronBarcode é o método ResizeToMil. Ao contrário do método ResizeTo, este ajusta os seguintes componentes:

  • Elemento do código de barras: A largura do elemento mais estreito do código de barras, medida em milésimos de polegada (mil).
  • Altura: A altura do código de barras, medida em polegadas (o padrão é 1 polegada).
  • Resolução: Pontos por polegada (o padrão é 96 DPI).

Este método é particularmente adequado para códigos de barras 1D e é comumente usado em aplicações industriais onde medidas precisas são críticas. O sistema de medição mil é um padrão da indústria que garante uma legibilidade consistente do código de barras em diferentes scanners e condições de impressão.

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");
    }
}
$vbLabelText   $csharpLabel

Você também pode chamar este método no objeto GeneratedBarcode. Para mais informações sobre como definir dimensões precisas de códigos de barras, consulte nosso guia Definir Margens de Códigos de Barras. Na imagem abaixo, você verá os efeitos da aplicação do método ResizeToMil: os espaços brancos nas bordas do código de barras são eliminados, e tanto o elemento mais estreito quanto a altura do código de barras são ajustados de acordo com os valores dos parâmetros fornecidos ao 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

Como Posso Alterar as Cores do Código de Barras e do Fundo?

Um dos recursos mais procurados para estilizar códigos de barras é a capacidade de alterar tanto as cores do código de barras quanto do fundo. Graças ao IronDrawing, o IronBarcode fornece essa capacidade. Usando ambos os métodos ChangeBarCodeColor e ChangeBackgroundColor no objeto GeneratedBarcode, os usuários podem alterar as cores do código de barras e seu fundo. Esse recurso é particularmente útil para fins de branding ou ao criar códigos de barras temáticos para eventos especiais ou linhas de produtos.

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");
    }
}
$vbLabelText   $csharpLabel

Ao trabalhar com códigos de barras coloridos, é importante manter um contraste suficiente entre as cores do código de barras e do fundo para garantir a legibilidade. Para mais opções de estilo específicas para códigos QR, veja nosso tutorial Personalizar e Estilizar Códigos QR.

Código QR com fundo verde personalizado e cores de primeiro plano bege demonstrando a personalização de cores do código de barras

Como acrescentar anotações a um código de barras?

IronBarcode também oferece a opção de adicionar e estilizar anotações de códigos de barras. A estilização para anotações também é auxiliada pela funcionalidade do IronDrawing, incluindo edição da cor e fontes da anotação. As anotações são essenciais para fornecer informações legíveis por humanos junto com o código de barras legível pela máquina, tornando-as cruciais para gerenciamento de inventário, rotulagem de produtos e aplicações de envio.

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");
    }
}
$vbLabelText   $csharpLabel
Código QR verde-azulado e bege gerado pelo IronBarcode contendo o URL ironsoftware.com

Como uma extensão do snippet de código anterior, instanciamos dois novos objetos IronSoftware.Drawing.Font para servir como fontes para anotações tanto acima quanto abaixo do código de barras. Apenas a Família de Fontes é necessária para instanciar a fonte, embora você possa especificar propriedades adicionais como tamanho e estilo para mais controle.

  • AddAnnotationTextAboveBarcode: Adiciona texto de anotação personalizado acima do código de barras.
  • AddBarcodeValueTextBelowBarcode: Adiciona o valor do código de barras abaixo do código de barras.

Estes dois métodos aceitam os mesmos parâmetros: os objetos IronSoftware.Drawing.Font, um objeto IronSoftware.Drawing.Color e a quantidade de espaço entre o código de barras e o texto. Além disso, o método AddAnnotationTextAboveBarcode requer uma string para o texto da anotação, pois adiciona texto personalizado acima do código de barras.

IronBarcode oferece uma ampla gama de opções de personalização para estilizar códigos de barras. Para aplicações que exigem suporte Unicode em anotações, confira nosso guia Escrevendo Códigos de Barras Unicode. Para saber mais sobre como personalizar códigos QR, consulte "Como Personalizar e Adicionar Logotipos a Códigos QR". Para exportar códigos de barras estilizados para diferentes formatos, explore nosso tutorial Criar Código de Barras como HTML.

Perguntas frequentes

Como posso alterar a cor de um código de barras em C#?

O IronBarcode oferece o método ChangeBarCodeColor() para personalizar facilmente as cores dos códigos de barras. Basta encadear esse método após a criação do código de barras para aplicar qualquer cor da paleta IronSoftware.Drawing.Color, permitindo controle total sobre a aparência visual dos seus códigos de barras.

Qual método devo usar para redimensionar um código de barras sem perder qualidade?

Use o método ResizeTo() do IronBarcode para redimensionar códigos de barras sem perda de qualidade. Este método aciona uma nova renderização do código de barras sem perda de qualidade, na largura e altura especificadas em pixels, mantendo a nitidez e ajustando as dimensões para se adequarem a layouts específicos ou requisitos de impressão.

Posso personalizar a cor de fundo dos meus códigos de barras?

Sim, o IronBarcode permite personalizar os fundos dos códigos de barras usando o método ChangeBackgroundColor(). Esse recurso permite definir qualquer cor de fundo usando a paleta IronSoftware.Drawing.Color, possibilitando uma integração perfeita com os seus requisitos de design.

Quais formatos de código de barras oferecem opções de estilo exclusivas?

O IronBarcode suporta diversos formatos de código de barras com aparências exclusivas, incluindo PDF417, Aztec, IntelligentMail, MaxiCode e DataMatrix. Cada formato possui características visuais distintas, permitindo ainda personalização adicional através dos métodos de estilização do IronBarcode.

Como adiciono anotações a códigos de barras?

O IronBarcode permite adicionar anotações acima e abaixo dos códigos de barras, melhorando a legibilidade e fornecendo contexto adicional. Esse recurso é particularmente útil para adicionar texto legível, códigos de produtos ou outras informações de identificação junto ao código de barras.

Qual a diferença entre os métodos ResizeTo e ResizeToMil?

O IronBarcode oferece dois métodos de redimensionamento: ResizeTo() para redimensionamento baseado em pixels com renderização sem perda de qualidade e ResizeToMil() para redimensionar o elemento do código de barras usando medidas em milésimos de polegada (mil). Ambos os métodos mantêm a qualidade, atendendo a diferentes requisitos de medição.

Hairil Hashimi Bin Omar
Engenheiro de Software
Como todo grande engenheiro, Hairil é um ávido aprendiz. Ele está aprimorando seus conhecimentos em C#, Python e Java, usando esse conhecimento para agregar valor aos membros da equipe da Iron Software. Hairil ingressou na equipe da Iron Software vindo da Universiti Teknologi MARA, na Malásia, onde se formou em ...
Leia mais
Pronto para começar?
Nuget Downloads 2,108,094 | Versão: 2026.3 acaba de ser lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package BarCode
executar um exemplo Veja seu fio se transformar em um código de barras.