如何定制条形码并使其风格化
多年来,条形码的使用越来越普及,广泛应用于各种场合,无论是存储数据、身份证明还是网页的URL。 在某些应用中,条形码对产品可见,这导致了对样式化条形码的需求增加。 因此,一些条形码类型/编码具有其独特的外观,例如PDF417、Aztec、IntelligentMail、MaxiCode、DataMatrix等。
除此之外,IronBarcode 提供了选项,让用户能够在 条形码颜色、条形码调整大小和背景颜色方面进一步对条形码进行样式设置。 这得益于我们的开源库IronDrawing的协助。
开始使用 IronBarcode
立即在您的项目中开始使用IronBarcode,并享受免费试用。
如何定制条形码并使其风格化
调整条形码大小示例
使用 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")
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")
您还可以在GeneratedBarcode对象上调用此方法。 在下图中,您将看到应用ResizeToMil
方法的效果:条码边缘的空白区域被消除,条码的最窄元素和高度均根据提供给方法的参数值进行调整。

在 ResizeToMil 之前

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

添加条形码注释示例
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")

作为前一个代码片段的扩展,我们实例化了两个新的IronSoftware.Drawing.Font对象,用作条形码上方和下方注释的字体。 仅需要字体族来实例化字体。
AddAnnotationTextAboveBarcode
:在条形码上方添加自定义注释文本。AddBarcodeValueTextBelowBarcode
:在条形码下方添加条形码值。这两个方法接受相同的参数:IronSoftware.Drawing.Font 对象、IronSoftware.Drawing.Color 对象,以及条形码和文本之间的间距量。 此外,
AddAnnotationTextAboveBarcode
方法需要一个字符串作为注释文本,因为它会在条形码上方添加自定义文本。IronBarcode 为用户提供了广泛的机会来自定义和设计他们的条形码,仅受想象力的限制。 要了解有关自定义二维码的更多信息,请参考“如何自定义并为二维码添加徽标”。