如何定制条形码并使其风格化

Hairil related to 如何定制条形码并使其风格化
海瑞尔 哈西米 本 奥马尔
2023年九月6日
更新 2024年十二月10日
分享:
This article was translated from English: Does it need improvement?
Translated
View the article in English

多年来,条形码的使用越来越普及,广泛应用于各种场合,无论是存储数据、身份证明还是网页的URL。 在某些应用中,条形码对产品可见,这导致了对样式化条形码的需求增加。 因此,一些条形码类型/编码具有其独特的外观,例如PDF417AztecIntelligentMailMaxiCodeDataMatrix等。

除此之外,IronBarcode 提供了选项,让用户能够在 条形码颜色条形码调整大小背景颜色方面进一步对条形码进行样式设置。 这得益于我们的开源库IronDrawing的协助。

开始使用 IronBarcode

立即在您的项目中开始使用IronBarcode,并享受免费试用。

第一步:
green arrow pointer


调整条形码大小示例

使用 ResizeTo 方法

调整大小是用户可以使用IronBarcode实现的自定义功能之一。 要使用此功能,只需调用ResizeTo方法,并输入条形码的新宽度高度尺寸,单位为像素(px)。 此操作将触发条码的无损重新渲染。

请注意
如果数值太小,条形码无法读取,则会被忽略。

:path=/static-assets/barcode/content-code-examples/how-to/customize-barcode-style-use-ResizeTo.cs
using IronBarCode;

// Create barcode
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.PDF417, 300, 100);

// Export barcode
barcode.SaveAsPng("output.png");

// Resize and export the barcode
barcode.ResizeTo(250, 100).SaveAsPng("useResizeTo.png");
Imports IronBarCode

' Create barcode
Private barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.PDF417, 300, 100)

' Export barcode
barcode.SaveAsPng("output.png")

' Resize and export the barcode
barcode.ResizeTo(250, 100).SaveAsPng("useResizeTo.png")
$vbLabelText   $csharpLabel

ResizeTo 方法可以在 GeneratedBarcode 对象上调用。 以下是运行上述代码片段生成的条形码图像。

调整大小前的条形码
调整大小后的条形码

使用 ResizeToMil 方法

IronBarcode 中可用的调整大小的另一个方面是 ResizeToMil 方法。 与ResizeTo方法不同,此方法调整以下组件:

  • 条码元素:最窄条码元素的宽度,以千分之一英寸(mil)为单位测量。
  • 高度:条形码的高度,以英寸为单位测量(默认值为1英寸)。
  • 分辨率:每英寸像素(默认是96 DPI)。

    话虽如此,这种方法特别适用于一维条形码。

:path=/static-assets/barcode/content-code-examples/how-to/customize-barcode-style-use-ResizeToMil.cs
using IronBarCode;

// Create barcode
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("12345", BarcodeEncoding.Codabar, 250, 100);

// Export barcode
barcode.SaveAsPng("output.png");

// Resize and export the barcode
barcode.ResizeToMil(20, .73, 200).SaveAsPng("useResizeToMil.png");
Imports IronBarCode

' Create barcode
Private barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeEncoding.Codabar, 250, 100)

' Export barcode
barcode.SaveAsPng("output.png")

' Resize and export the barcode
barcode.ResizeToMil(20, .73, 200).SaveAsPng("useResizeToMil.png")
$vbLabelText   $csharpLabel

您还可以在GeneratedBarcode对象上调用此方法。 在下图中,您将看到应用ResizeToMil方法的效果:条码边缘的空白区域被消除,条码的最窄元素和高度均根据提供给方法的参数值进行调整。

ResizeToMil 前的条形码
ResizeToMil 后的条形码

更改条形码和背景颜色

最受欢迎的条形码样式功能之一是能够改变条形码和背景颜色。 得益于IronDrawing,IronBarcode 提供了此功能。 通过在GeneratedBarcode对象上使用ChangeBarCodeColorChangeBackgroundColor方法,用户可以更改条形码及其背景的颜色。 下面是一个简单的代码片段,展示了如何实现这一点。

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

GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Aztec);

// Change barcode color
barcode.ChangeBarCodeColor(Color.DarkKhaki);

// Change barcode's background color
barcode.ChangeBackgroundColor(Color.ForestGreen);

barcode.SaveAsPng("coloredAztec2.png");
Imports IronBarCode
Imports IronSoftware.Drawing

Private barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Aztec)

' Change barcode color
barcode.ChangeBarCodeColor(Color.DarkKhaki)

' Change barcode's background color
barcode.ChangeBackgroundColor(Color.ForestGreen)

barcode.SaveAsPng("coloredAztec2.png")
$vbLabelText   $csharpLabel
带颜色的条形码

添加条形码注释示例

IronBarcode还可以添加和设置条形码注释的样式。 同样,这里的注释样式也借助IronDrawing的功能来编辑注释的颜色和字体。

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

GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Aztec, 500, 500);

// Change barcode and background color
barcode.ChangeBarCodeColor(Color.DarkCyan);
barcode.ChangeBackgroundColor(Color.PeachPuff);

// Create font for annotation
Font annotationFont = new Font("Candara", FontStyle.Bold, 70);

// Add annotation
barcode.AddAnnotationTextAboveBarcode("IronBarcodeRocks!", annotationFont, Color.DarkOrange);

// Create font for barcode value
Font barcodeValueFont = new Font("Cambria", FontStyle.Regular, 70);

// Add displayed barcode value
barcode.AddBarcodeValueTextBelowBarcode(barcodeValueFont, Color.SandyBrown);

barcode.SaveAsPng("annotationAndBarcodeValue.png");
Imports IronBarCode
Imports IronSoftware.Drawing

Private barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Aztec, 500, 500)

' Change barcode and background color
barcode.ChangeBarCodeColor(Color.DarkCyan)
barcode.ChangeBackgroundColor(Color.PeachPuff)

' Create font for annotation
Dim annotationFont As New Font("Candara", FontStyle.Bold, 70)

' Add annotation
barcode.AddAnnotationTextAboveBarcode("IronBarcodeRocks!", annotationFont, Color.DarkOrange)

' Create font for barcode value
Dim barcodeValueFont As New Font("Cambria", FontStyle.Regular, 70)

' Add displayed barcode value
barcode.AddBarcodeValueTextBelowBarcode(barcodeValueFont, Color.SandyBrown)

barcode.SaveAsPng("annotationAndBarcodeValue.png")
$vbLabelText   $csharpLabel
带有注释的彩色条形码

作为前一个代码片段的扩展,我们实例化了两个新的IronSoftware.Drawing.Font对象,用作条形码上方和下方注释的字体。 仅需要字体族来实例化字体。

  • AddAnnotationTextAboveBarcode:在条形码上方添加自定义注释文本。
  • AddBarcodeValueTextBelowBarcode:在条形码下方添加条形码值。

    这两个方法接受相同的参数:IronSoftware.Drawing.Font 对象、IronSoftware.Drawing.Color 对象,以及条形码和文本之间的间距量。 此外,AddAnnotationTextAboveBarcode方法需要一个字符串作为注释文本,因为它会在条形码上方添加自定义文本。

    IronBarcode 为用户提供了广泛的机会来自定义和设计他们的条形码,仅受想象力的限制。 要了解有关自定义二维码的更多信息,请参考“如何自定义并为二维码添加徽标”。

Hairil related to 添加条形码注释示例
海瑞尔 哈西米 本 奥马尔
软件工程师
像所有优秀的工程师一样,Hairil 是一个热衷学习的人。他正在精进自己的 C#、Python 和 Java 知识,并利用这些知识为 Iron Software 团队成员增添价值。Hairil 毕业于马来西亚的马来西亚工艺大学(Universiti Teknologi MARA),获得了化学与工艺工程学士学位,然后加入了 Iron Software 团队。