如何自訂和樣式化條碼

Hairil related to 如何自訂和樣式化條碼
海里海西米·賓·奧馬
2023年9月6日
已更新 2024年12月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 之前
調整尺寸後的條碼

更改條碼和背景顏色

最受歡迎的功能之一是能夠更改條碼和背景顏色。 多虧了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 為用戶提供了廣泛的機會來自訂和設計其條碼,唯有想像力的限制。 若要了解更多有關自訂 QR 碼的資訊,請參閱「如何自訂 QR 碼樣式並添加標誌」。

Hairil related to 新增條碼註解範例
海里海西米·賓·奧馬
軟體工程師
和所有優秀的工程師一樣,Hairil 是一位熱衷學習的人。他正在精進自己對 C#、Python 和 Java 的知識,利用這些知識為 Iron Software 團隊的成員創造價值。Hairil 從馬來西亞的馬來西亞工藝大學加入了 Iron Software 團隊,他在那裡獲得了化學和過程工程學士學位。