使用 IronBarcode for .NET 在 C# 中自訂與設計 BarCode
IronBarcode 讓開發人員能夠透過 C# 自訂 BarCode,包括變更顏色、調整尺寸及新增註解,並透過 ChangeBarCodeColor() 和 ResizeTo() 等簡單的方法呼叫,實現完整的樣式控制。
多年來,BarCode的使用日益普及,並廣泛應用於各類領域,無論是儲存資料、身分識別碼,還是網頁網址。 在某些應用中,產品上會標示BARCODE,導致對樣式設定選項的需求增加。 因此,某些BARCODE型別已發展出獨特的外觀,例如 PDF417、Aztec、IntelligentMail、MaxiCode、DataMatrix 等,以及更多種類。 如需支援格式的完整清單,請參閱我們的《支援的BarCode格式》文件。
此外,IronBarcode 提供使用者進一步自訂 BarCode 樣式的選項,包括 BarCode 顏色、BarCode 尺寸調整及背景顏色等設定。 這一切皆得益於我們的開源函式庫 IronDrawing 的協助。 這些樣式設定功能是基於 IronBarcode 全面的 BarCode 生成功能所建構的。
快速入門:自訂BarCode顏色與背景以下是一個簡單範例,展示開發人員如何使用 IronBarcode 快速為 BARCODE 的條紋和背景套用自訂顏色。 您將發現,只需一次鏈式呼叫,即可輕鬆生成帶有樣式的BARCODE。 如需更進階的範例,請參閱我們的 C# BarCode 影像產生器教學。
-
1Install IronBarcode with NuGet Package Manager
-
2複製並運行這段程式碼片段。
IronBarCode.BarcodeWriter.CreateBarcode("HELLO123", IronBarCode.BarcodeEncoding.Code128) .ChangeBarCodeColor(IronSoftware.Drawing.Color.Blue) .ChangeBackgroundColor(IronSoftware.Drawing.Color.White) .SaveAsImage("styled.png");C# -
3部署以在您的實時環境中測試
今天就開始在您的專案中使用IronBarcode,透過免費試用
簡化工作流程(5 個步驟)
- 下載 C# 函式庫以自訂及設計 BarCode 樣式
- 請使用
ResizeTo方法觸發無損重新渲染 - 請使用
ResizeToMil方法來調整BarCode元件的大小 - 變更BARCODE及其背景的顏色
- 在BarCode上方和下方新增BarCode註解
如何調整BarCode的大小?
何時該使用 ResizeTo 方法?
調整 BarCode 大小是使用者透過 IronBarcode 可實現的自訂功能之一。 要使用此功能,只需呼叫 ResizeTo 方法,並輸入 BARCODE 新寬度和高度(單位為像素,px)。 此操作將觸發BarCode的無損重新渲染。 此方法可在調整 BarCode 尺寸的同時維持其品質,非常適合需要將 BarCode 嵌入特定版面配置或列印尺寸的場景。
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");
}
}Imports IronBarCode
Public Class BarcodeResizer
Public Shared Sub ResizeBarcode(barcodeText As String, newWidth As Integer, newHeight As Integer)
' Generate a barcode
BarcodeWriter.CreateBarcode(barcodeText, BarcodeEncoding.Code128) _
.ResizeTo(newWidth, newHeight) _
.SaveAsImage("resized_barcode.png")
End Sub
' Example usage with different size requirements
Public Shared Sub ResizeForDifferentFormats()
Dim 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")
End Sub
End Class可對 GeneratedBarcode 物件呼叫 ResizeTo 方法。 若需處理不同輸出格式,您亦可參考我們的《將 BARCODE 儲存為 PDF 格式》指南。以下是執行上述程式碼片段所產生的 BARCODE 圖像。

調整大小前

調整大小後
為何要對一維 BarCode 使用 ResizeToMil 方法?
IronBarcode 提供的另一種尺寸調整功能是 ResizeToMil 方法。 與 ResizeTo 方法不同,此方法會調整以下元件:
- **BarCode元素:**BarCode中最窄元素的寬度,單位為千分之一英吋(mil)。
- **高度:**BARCODE的高度,單位為英吋(預設值為 1 英吋)。
- **解析度:**每英寸點數(預設為 96 DPI)。
此方法特別適用於一維BarCode,並常應用於精確測量至關重要的工業領域。 mil 測量系統是一項業界標準,可確保 BarCode 在不同掃描器及列印條件下均能保持一致的可讀性。
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");
}
}Imports IronBarCode
Public Class BarcodeResizer
Public Shared Sub ResizeBarcodeToMil(barcodeText As String, elementWidthMil As Integer, heightInches As Integer, Optional dpi As Integer = 96)
' Generate a barcode
BarcodeWriter.CreateBarcode(barcodeText, BarcodeEncoding.Code128) _
.ResizeToMil(elementWidthMil, heightInches, dpi) _
.SaveAsImage("resized_barcode_mil.png")
End Sub
' Example for different industrial standards
Public Shared Sub 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")
End Sub
End Class您也可以在 GeneratedBarcode 物件上呼叫此方法。 有關設定精確BARCODE尺寸的更多資訊,請參閱我們的《設定BARCODE邊距》指南。在下圖中,您將看到應用 ResizeToMil 方法的效果:BARCODE邊緣的空白區域已被消除,且BARCODE中最窄的元素與高度均會根據傳入該方法的參數值進行調整。

在 ResizeToMil 之前

ResizeToMil 之後
如何變更BarCode和背景顏色?
在BARCODE樣式設定方面,最受歡迎的功能之一便是能夠同時變更BARCODE與背景的顏色。 得益於 IronDrawing,IronBarcode 具備此項功能。 透過在 GeneratedBarcode 物件上同時使用 ChangeBarCodeColor 和 ChangeBackgroundColor 方法,使用者可以變更 BARCODE 和其背景的顏色。 此功能對於品牌推廣,或為特殊活動及產品線製作主題BarCode時,特別實用。
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");
}
}Imports IronBarCode
Imports IronSoftware.Drawing ' Required for color manipulation
Public Class BarcodeColorChanger
Public Shared Sub ChangeBarcodeColors(barcodeText As String, barcodeColor As Color, backgroundColor As Color)
' Generate a barcode
Dim 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")
End Sub
' Example: Create branded barcodes with company colors
Public Shared Sub CreateBrandedBarcodes()
' Company brand colors example
Dim 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
Dim seasonalBarcode = BarcodeWriter.CreateBarcode("HOLIDAY-2024", BarcodeEncoding.Code128)
seasonalBarcode.ChangeBarCodeColor(Color.DarkGreen) _
.ChangeBackgroundColor(Color.LightYellow) _
.SaveAsImage("seasonal_barcode.png")
End Sub
End Class處理彩色BarCode時,務必確保BarCode與背景顏色之間保持足夠的對比度,以確保可讀性。 如需更多關於 QR 碼的樣式設定選項,請參閱我們的《自訂與設計 QR 碼》教學指南。

如何在BarCode上新增註解?
IronBarcode 亦提供新增及設定 BarCode 註解樣式的功能。 註解的樣式設定亦可透過 IronDrawing 的功能輔助完成,包括編輯註解顏色與字型。 註解對於在機器可讀的BarCode旁提供人類可讀的資訊至關重要,因此對於庫存管理、產品標籤及物流應用而言,註解扮演著關鍵角色。
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");
}
}Imports IronBarCode
Imports IronSoftware.Drawing ' Required for font and color manipulation
Public Class BarcodeAnnotator
Public Shared Sub AnnotateBarcode(barcodeText As String, annotationText As String, annotationFont As Font, annotationColor As Color, annotationSpacing As Single)
' Generate a barcode
Dim 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")
End Sub
' Example: Create product label with annotations
Public Shared Sub CreateProductLabel()
Dim productCode = "PRD-12345-XL"
Dim barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128)
' Define fonts for different purposes
Dim titleFont = New Font("Arial", FontStyle.Bold, 14)
Dim 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")
End Sub
End Class
作為先前程式碼片段的延伸,我們實例化兩個新的 IronSoftware.Drawing.Font 物件,用作 BarCode 上方與下方的註解字型。 僅需指定字型家族即可建立字型實例,但您亦可設定大小與樣式等額外屬性以獲得更細緻的控制。
AddAnnotationTextAboveBarcode:在BARCODE上方新增自訂註解文字。AddBarcodeValueTextBelowBarcode:在BARCODE下方新增BARCODE值。
這兩種方法接受相同的參數:IronSoftware.Drawing.Font 物件、一個 IronSoftware.Drawing.Color 物件,以及 BARCODE 與文字之間的間距。 此外,AddAnnotationTextAboveBarcode 方法需要一個字串作為註解文字,因為它會在 BARCODE 上方新增自訂文字。
IronBarcode 提供多種自訂選項,可自由設計 BarCode 樣式。 若您的應用程式需要在註解中支援 Unicode,請參閱我們的《撰寫 Unicode BARCODE 指南》。如欲進一步了解如何自訂 QR 碼,請參閱"如何自訂 QR 碼並新增標誌"。 若需將格式化的BarCode匯出為不同格式,請參閱我們的《將BarCode建立為 HTML》教學指南。
常見問題
如何在C#中更改條碼的顏色?
IronBarcode提供ChangeBarCodeColor()方法以輕鬆自訂條碼顏色。只需在建立條碼後串接此方法,即可從IronSoftware.Drawing.Color調色板中應用任何顏色,讓條碼的視覺外觀完全受控。
應該使用哪種方法來調整條碼大小而不失去品質?
使用IronBarcode的ResizeTo()方法調整條碼大小而不失去品質。此方法在指定的像素寬度和高度下觸發條碼的無損重新渲染,幫助保持清晰度,同時調整尺寸以符合特定佈局或列印需求。
我可以自訂條碼的背景顏色嗎?
是的,IronBarcode允許您使用ChangeBackgroundColor()方法自訂條碼背景。此功能讓您可以使用IronSoftware.Drawing.Color調色板設置任何背景顏色,實現與設計要求的無縫融合。
哪些條碼格式支持獨特的設計選項?
IronBarcode支持各種具有獨特外觀的條碼格式,包括PDF417、Aztec、IntelligentMail、MaxiCode和DataMatrix。每種格式都有其獨特的視覺特徵,同時仍可通過IronBarcode的設計方法進行額外自訂。
如何為條碼新增註解?
IronBarcode使您可以在條碼上下新增註解,增強可讀性並提供額外的背景資訊。此功能特別有助於新增可供人讀取的文字、產品程式碼或其他與條碼一起的識別資訊。
ResizeTo與ResizeToMil方法有何不同?
IronBarcode提供兩種調整大小的方法:ResizeTo() 用於基於像素的無損重新渲染,而ResizeToMil() 用於使用mil測量單位調整條碼元素大小。兩種方法都在不同的測量需求中保持品質。
How does IronBarcode maintain barcode quality during resizing?
IronBarcode maintains barcode quality during resizing by triggering a lossless re-rendering process when using methods like ResizeTo(). This ensures the barcode remains high quality and readable after being resized.
Is there support for advanced color manipulation in IronBarcode?
Advanced color manipulation in IronBarcode is supported through integration with the IronDrawing library. This allows for precise control over barcode and background colors, which can be tailored to meet branding or thematic requirements.
How can IronBarcode assist with creating product labels?
IronBarcode can assist in creating product labels by allowing the addition of annotations, customizing barcode dimensions, and altering colors to match product branding. Methods like AddAnnotationTextAboveBarcode help include human-readable information on labels.
What font options are available for barcode annotations in IronBarcode?
For barcode annotations, IronBarcode provides options through IronSoftware.Drawing.Font, allowing you to customize font family, size, style, and color. This adds flexibility for styling annotations aligned with specific product or branding needs.
