如何製作條碼圖片

Hairil related to 如何製作條碼圖片
海里海西米·賓·奧馬
2023年3月19日
已更新 2024年12月17日
分享:
This article was translated from English: Does it need improvement?
Translated
View the article in English


生成條碼並儲存為影像檔案

除了读取条形码,IronBarcode 还是一个强大的工具,它还允许用户通过非常少量的编码来写入条形码。 要達成此目的,只需從BarcodeWriter類調用CreateBarcode()方法,您可以在方法參數中指定條碼的值、類型、寬度和高度。 這將輸出一個GeneratedBarcode物件,隨後可以使用SaveAs()方法將其保存為影像檔案。 讓我們詳細討論每個參數,然後看看如何通過代碼片段實現條碼寫入。

條碼值

BarcodeWriter.CreateBarcode() 方法接受多種數據類型作為條碼值。 這些包括 byte[] arrayMemoryStreamstring。 字串的長度和接受的字元根據條碼類型而異,但這在我們的文件中都有詳細說明。

條碼編碼類型

IronBarcode 支援多種條碼格式的寫入功能 —— 完整列表可在我們的支援的條碼格式文章中找到。 這些條碼類型各有其獨特的屬性、特點和用途—您可以參考我們的文檔來研究哪一種最適合您的使用情境。

寬度和高度

設定輸出條碼圖像的寬度和高度,以像素為單位。 預設情況下,兩個測量值均設為250 px。 某些條碼類型,如 QR 和 PDF417,要求具有特定尺寸以符合規範,因此若輸入的寬度和高度與條碼的要求尺寸不符,條碼將按照符合規範的尺寸生成,其餘部分則以空白填充。 如果條形碼的尺寸太小,將會引發異常。

導入條形碼作為圖像

使用 BarcodeWriter.CreateBarcode() 方法創建條碼時,將生成一個 GeneratedBarcode 對象。 使用這個對象,我們可以通過多個SaveAs()方法將條碼保存為多種影像格式,各個方法特定於每種影像格式。 這些方法包括:

  • SaveAsGif():此方法將GeneratedBarcode儲存為GIF 圖像檔,並接受圖像檔路徑作為字串參數。
  • SaveAsJpeg():此方法將GeneratedBarcode保存為JPEG 圖像文件,並接受圖像文件路徑作為字串參數。
  • SaveAsPng():此方法將GeneratedBarcode保存為PNG 圖像文件,並接受作為字符串參數的圖像文件路徑。
  • SaveAsTiff():此方法將GeneratedBarcode保存為TIFF 圖像文件,並接受圖像文件路徑作為字串參數。
  • SaveAsWindowsBitmap():此方法將 GeneratedBarcode 保存為BMP 圖像檔案,並接受圖像檔案路徑作為字串參數。
  • SaveAsImage():這是一個將GeneratedBarcode儲存為圖像文件的一般方法——使用者必須在輸入文件路徑時指定所需的文件格式擴展名

生成條碼並儲存為圖像檔案

現在我們將使用BarcodeWriter.CreateBarcode()來演示創建_Code128_條碼,並將其作為JPEG圖像文件保存到磁碟。

:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-images-one-dimensional.cs
using IronBarCode;

BarcodeWriter.CreateBarcode("IronBarcode123", BarcodeEncoding.Code128, 200, 100).SaveAsJpeg("OneDBarcode.jpeg");
Imports IronBarCode

BarcodeWriter.CreateBarcode("IronBarcode123", BarcodeEncoding.Code128, 200, 100).SaveAsJpeg("OneDBarcode.jpeg")
$vbLabelText   $csharpLabel
從程式碼片段生成的一維條碼

生成 QR 代码並保存為圖像文件

時下最受歡迎的條碼之一,QR code,這也是被分類為二維條碼的條碼之一,由 IronBarcode 完全支援。 由於其多功能性、美觀性和高度可定制的特點,QR碼在用戶中獲得了很高的受歡迎程度。

與創建一維和其他條形碼不同,使用IronBarcode創建QR碼將使用不同類別中的不同方法,因為QR碼的複雜性需要不同的屬性和參數才能產生符合客戶需求的高質量QR碼。 在 IronBarcode 中創建 QR 碼,使用者需要從 QRCodeWriter 類別調用 CreateQrCode() 方法。 QRCodeWriter.CreateQrCode() 方法接受4 個參數,其中將條碼值作為第一個參數,輸出 QR 碼的大小作為第二個參數,QRCodeWriter.QrErrorCorrectionLevel 枚舉字段作為第三個參數,最後是 QRVersion。 讓我們詳細討論這個方法的參數。

QR 碼值

BarcodeWriter.CreateBarcode()方法相同,QRCodeWriter.CreateQrCode()首先接受數字、字母或字母數字的QR Code值。 這些值可以作為byte []陣列、MemoryStreamSystem.String類型輸入到方法中。

QR 碼大小

使用者也可以將 QR 碼的大小直接指定為Int32類型的方法。 在此方法中使用的 QR 碼大小的度量單位是以像素(px)為單位。 預設的 QR 碼大小為 500 像素。

QR 錯誤修正等級

QRErrorCorrectionLevelQRCodeWriter 類別的成員屬性,其中包含四個字段,分別是 HighestHighMediumLow。 基本上,這個屬性是 QR 碼的容錯等級,在這個等級中,更高的修正等級會創造出更複雜的 QR 碼,即使 QR 碼受損或部分遮蔽,也較不容易發生讀取錯誤。 現在,讓我們詳細討論此屬性中的每個字段,以及查看生成的QR碼的外觀差異。

QRErrorCorrectionLevel.Highest

使用最高修正級別生成的QR碼將具有最複雜的QR碼圖像,其中30%是錯誤修正。 生成的QR碼也可以在QR碼上蓋上標誌或圖像。

具有最高更正級別的QR碼

QRErrorCorrectionLevel.High

將屬性欄位設置為將導致在 QR 碼影像中應用 25% 的錯誤更正。 這將比從QRErrorCorrectionLevel.Highest生成的 QR 碼圖像更簡單。

高容錯等級的QR碼

QRErrorCorrectionLevel.Medium

此字段在 QR 碼圖片中僅應用 15% 的錯誤更正。 使用此設定,用戶將能更快地生成 QR 碼,但也更容易出錯。

中等級別錯誤更正的 QR 碼

QRErrorCorrectionLevel.Low

這是錯誤校正等級的最低設定,它只在QR碼圖像中應用7%的錯誤校正,並產生最不複雜的QR碼。

低容錯等級的QR碼

QrVersion

QR 版本是 QR 碼的符號版本,範圍從 1 到 40,較高的 QR 版本將產生更複雜的 QR 碼,使使用者能夠儲存更多數據,較低版本的 QR 碼則相反。 請注意,如果QR版本設定過低,當用戶試圖編碼超過版本允許的數據量時,可能會出現問題。 將 QR 版本設置為 0 將根據要編碼的值自動分配適當的 QR 版本。 請參閱此網站以獲取有關 QR 版本的更多資訊:QR Version

創建 QR 碼圖片

以下程式碼片段演示如何在IronBarcode中使用QRCodeWriter.CreateQrCode()方法來編寫QR碼,並通過使用SaveAsJpeg()方法將其儲存為影像檔案到磁碟。

:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-images-qr.cs
using IronBarCode;

QRCodeWriter.CreateQrCode("IronBarcode1234", 250, QRCodeWriter.QrErrorCorrectionLevel.Medium, qrVersion: 0).SaveAsJpeg("QRMedium.jpeg");
Imports IronBarCode

QRCodeWriter.CreateQrCode("IronBarcode1234", 250, QRCodeWriter.QrErrorCorrectionLevel.Medium, qrVersion:= 0).SaveAsJpeg("QRMedium.jpeg")
$vbLabelText   $csharpLabel
中等級別錯誤更正的 QR 碼

在上面的代碼片段中,字母數字值被用作要編碼在QR碼中的值,我們使用250像素作為產生的QR碼的尺寸。 我們還指定產生的QR碼的錯誤更正等級為中等,並讓程式決定哪一個QR碼版本適合我們的QR碼值。 除此之外,我們還附加了SaveAsJpeg(),它接受帶有圖像格式擴展名的 QR 碼圖像文件名,在這個例子中是 JPEG 格式,以作為參數進行保存。

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