如何创建条码图像

Hairil related to 如何创建条码图像
海瑞尔 哈西米 本 奥马尔
2023年三月19日
更新 2024年十二月17日
分享:
This article was translated from English: Does it need improvement?
Translated
View the article in English


生成 BarCode 并保存为图像文件

除了读取条形码外,IronBarcode 还是一款功能强大的工具,用户只需编写极少的代码即可编写条形码。 要实现这一点,只需调用 BarcodeWriter 类中的 CreateBarcode() 方法,其中可以在方法参数中指定条码的值、类型、宽度和高度。 这将输出一个GeneratedBarcode对象,然后可以使用SaveAs()方法将其保存为图像文件。 让我们详细讨论每个参数,随后看看如何通过代码片段实现条形码书写。

条形码值

BarcodeWriter.CreateBarcode() 方法接受多种数据类型作为条码值。 这些包括byte[] arrayMemoryStreamstring。 字符串的长度和可接受的字符因条形码类型而异,但我们的文档中都有详细说明。

条形码编码类型

IronBarcode支持多种条形码格式用于写入——完整列表可在我们的Supported Barcode Formats文章中找到。 这些 BarCode 类型都有自己独特的属性、专长和用途,您可以通过我们的文档研究哪一种最适合您的使用情况。

宽度和高度

以像素为单位设置输出 BarCode 图像的宽度和高度。 默认情况下,两个测量值都设置为 250 px。 有几种条形码类型(如 QR 和 PDF417)要求具有一定的尺寸才符合要求,因此对于输入宽度和高度不符合条形码要求尺寸的条形码,将以符合要求的尺寸生成条形码,并以空白填充剩余空间。 如果尺寸对于 BarCode 而言太小,则会出现异常。

将条形码作为图像导入

在使用BarcodeWriter.CreateBarcode()方法创建条形码时,将生成一个GeneratedBarcode对象。 使用此对象,我们可以通过多个SaveAs()方法将条形码保存为多种图像类型,每种图像格式都有特定的方法。 这些方法包括

  • SaveAsGif():此方法将GeneratedBarcode保存为GIF图像文件,并接受图像文件路径作为字符串参数。
  • SaveAsJpeg():此方法将GeneratedBarcode保存为JPEG 图像文件,并接受图像文件路径作为字符串参数。
  • SaveAsPng():此方法将GeneratedBarcode保存为PNG 图像文件,并接受图像文件路径作为字符串参数。
  • SaveAsTiff():此方法将GeneratedBarcode保存为TIFF图像文件,并接受图像文件路径作为字符串参数。
  • SaveAsWindowsBitmap():此方法将GeneratedBarcode保存为BMP图像文件,并接受图像文件路径作为字符串参数。
  • SaveAsImage():这是一个用于将GeneratedBarcode保存为图像文件的通用方法——用户在输入文件路径时必须指定所需的文件格式扩展名

生成 BarCode 并另存为图像文件

现在我们将使用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 代码并保存为图像文件

现代最流行的条形码之一,二维码,它也是分类为二维条形码的条形码之一,IronBarcode完全支持。 由于二维码具有多功能性、外观吸引力和高度可定制的特点,因此深受用户欢迎。

与创建一维条形码和其他条形码不同,创建 QR 码将使用 IronBarcode 中不同类的不同方法,因为 QR 码错综复杂,需要不同的属性和参数,才能按照客户要求生成高质量的 QR 码。 要在IronBarcode中创建QR码,用户需要调用QRCodeWriter类中的CreateQrCode()方法。 QRCodeWriter.CreateQrCode() 方法接受4 个参数,其中条形码值作为第一个参数,输出 QR 代码的大小作为第二个参数,QRCodeWriter.QrErrorCorrectionLevel 枚举字段作为第三个参数,最后是 QRVersion。 让我们详细讨论这个方法的参数。

QR 码值

BarcodeWriter.CreateBarcode()方法相同,QRCodeWriter.CreateQrCode()首先接受QR码的值,该值可以是数字、字母或字母数字。 这些值可以作为byte []数组、MemoryStreamSystem.String类型输入到方法中。

二维码尺寸

用户还可以将 QR 码的大小直接指定为 Int32 类型的方法。 在此方法中,二维码大小的测量单位是以像素(px)为单位。 默认的二维码大小为500像素。

QR 错误纠正级别

QRErrorCorrectionLevelQRCodeWriter 类的成员属性,其中包含四个字段,分别是 HighestHighMediumLow。 基本上,这个属性是QR码的容错级别,其中较高的修正级别会生成更复杂的QR码,即使QR码被损坏或部分遮挡,也不容易发生读取错误。 现在,让我们详细讨论这个属性中的每个字段,以及观察生成的二维码的外观差异。

QRErrorCorrectionLevel.Highest

使用最高纠错级生成的二维码将拥有最复杂的二维码图像,其中30%为纠错。 生成的二维码也可以在二维码上盖上 logo 或图像图形。

具有最高纠错级别的二维码

QRErrorCorrectionLevel.High

将属性字段设置为,将导致在二维码图像中应用 25% 的误差校正。 这将比从QRErrorCorrectionLevel.Highest生成的二维码图像更简单。

高纠错级别的二维码

QRErrorCorrectionLevel.Medium

此字段在二维码图像中仅应用了15%的错误校正。 通过使用此设置,用户将能够更快地生成二维码,但更容易出错。

中等纠错级别的二维码

QRErrorCorrectionLevel.Low

这是错误更正级别的最低设置,它仅在QR码图像中应用7%的错误更正,并生成最不复杂的QR码。

低纠错级别的二维码

QrVersion

QR 版本是 QR 码的符号版本,从 1 到 40 不等,较高的 QR 版本将产生更复杂的 QR 码,使用户能够存储更多数据,较低版本的 QR 码则相反。 请注意,如果二维码版本设置过低,当用户尝试编码超出该版本允许的数据量时,可能会出现问题。 将QR版本设置为0将自动根据要编码的值分配适当的QR版本。 有关二维码版本的更多信息,请参考此网站:二维码版本

创建 QR 码图像

下面的代码片段演示了如何在IronBarcode中使用QRCodeWriter.CreateQrCode()方法来写入二维码,并通过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
中等纠错级别的二维码

从上面的代码片段中,字母数字值被用作要在二维码中编码的值,我们使用250像素作为生成的二维码的尺寸。 我们还将生成的QR码的错误校正级别指定为中等,并让程序决定哪个QR码版本适合我们的QR码值。 除此之外,我们还附加了SaveAsJpeg(),该功能接受带有图像格式扩展名的QR码图像文件名,在这种情况下是JPEG,以作为参数保存。

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