如何在 C# 中创建条形码和 QR 码图像

How to Create Barcode Images

This article was translated from English: Does it need improvement?
Translated
View the article in English

作为标题:2(快速入门: 用一行代码创建并保存一个Code128条码)

使用IronBarcode的一行API从字符串创建Code128条码并保存为PNG图像。 开发者可以立即开始—无麻烦,无样板—只需提供数据,选择编码和大小,然后编写图像文件。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode

  2. Copy and run this code snippet.

    IronBarCode.BarcodeWriter.CreateBarcode("Sample123", BarcodeEncoding.Code128, 250, 100).SaveAsPng("Barcode.png");
  3. Deploy to test on your live environment

    Start using IronBarcode in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

最小化工作流(5个步骤)

  1. 下载C# IronBarcode库
  2. 生成条码并保存为图像文件
  3. 生成二维码并保存为图像文件

生成条码并保存为图像文件

除了读取条码,IronBarcode也是一款强大的工具,允许用户以极少的编码编写条码。 要实现这一点,只需调用CreateBarcode()方法,该方法来自BarcodeWriter类,其中条码的值、类型、宽度和高度可以在方法参数中指定。 这会输出一个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
class="content-img-align-center">
class="center-image-wrapper"> 从片段中生成的一维条码

生成二维码并保存为图像文件

如今最受欢迎的条码之一,二维码,也是被归类为二维条码的一种,IronBarcode完全支持。 由于其多功能性、美观和高度可定制的特性,二维码在用户中获得了高度人气。

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

二维码值

类似于BarcodeWriter.CreateBarcode()方法,QRCodeWriter.CreateQrCode()首先接受一个值,该值可以是数字、字母或字母数字。 这些值可以作为byte[] arrayMemoryStreamSystem.String类型输入。

二维码大小

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

二维码错误纠正级别

QRErrorCorrectionLevelQRCodeWriter类的一个成员属性,其中有4个字段:最高。 基本上,这个属性是二维码的容错能力水平,较高的纠正级别会产生更复杂的二维码,这样即使被损坏或部分遮挡,也不容易读错。 现在,让我们详细讨论这个属性中的每个字段,并看看产生的二维码在外观上的区别。

QRErrorCorrectionLevel.Highest

使用最高纠正级别生成的二维码将拥有最复杂的二维码图像,其中30%用于错误纠正。 产生的二维码还可以在二维码上加盖标志或图形。

class="content-img-align-center">
class="center-image-wrapper"> 具有最高纠正级别的二维码

QRErrorCorrectionLevel.High

将属性字段设置为,将导致应用25%的错误纠正到二维码图像中。 它会比QRErrorCorrectionLevel.Highest产生的二维码图像更简单。

class="content-img-align-center">
class="center-image-wrapper"> 具有高纠正级别的二维码

QRErrorCorrectionLevel.Medium

这个字段在二维码图像上只应用15%的错误纠正。 通过使用这个设置,用户将获得更快捷的二维码生成; 然而,它们更容易出错。

class="content-img-align-center">
class="center-image-wrapper"> 具有中等纠正级别的二维码

QRErrorCorrectionLevel.Low

这是最低的错误纠正级别设置,仅在二维码图像上应用7%的错误纠正,导致最简单的二维码。

class="content-img-align-center">
class="center-image-wrapper"> 具有低纠正级别的二维码

二维码版本

二维码版本是二维码的符号版本,范围从1到40。较高的二维码版本将生成更复杂的二维码,使用户能够存储更多的数据,而较低版本则相反。 请注意,如果二维码版本设置得太低,当用户试图编码超过版本允许的数据时可能会发生问题。 将二维码版本设置为0将根据要编码的值自动分配适当的二维码版本。 Please refer to this site for more information on QR version: QR Version

创建二维码图像

下面的代码段演示了如何使用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
class="content-img-align-center">
class="center-image-wrapper"> 具有中等纠正级别的二维码

从上面的代码片段中,使用了字母数字值作为待编码的二维码值,并用250像素作为生成二维码的度量。 我们还将生成的二维码错误纠正指定为中级,并让程序决定哪个二维码版本适合我们的二维码值。 此外,我们还使用了SaveAsJpeg()方法,它接受二维码图像文件名及其扩展名作为参数保存,在此情况下是JPEG。

常见问题解答

如何在 .NET 中创建条形码图像?

要在 .NET 中创建条形码图像,请使用 IronBarcode 库。首先,从 NuGet 下载它,然后使用 BarcodeWriter.CreateBarcode() 方法,指定条形码的值、类型、宽度和高度。使用诸如 SaveAsPng()SaveAsJpeg() 等方法保存生成的条形码图像。

在 .NET 中支持哪些条形码格式?

.NET 条形码库支持多种条形码格式,包括 Code128 和 QR 码。有关支持格式的完整列表,请参阅 IronBarcode 文档。

如何将条形码保存为 JPEG 图像?

您可以在用 IronBarcode 的 BarcodeWriter.CreateBarcode() 方法生成条形码后,使用 SaveAsJpeg() 方法将条形码保存为 JPEG 图像。

如果我的条形码尺寸不正确,我该怎么办?

如果您指定的条形码尺寸不正确,IronBarcode 可能会调整大小以保持合规性或抛出异常。请确保为您的条形码类型提供足够的尺寸。

如何在 C# 中生成 QR 码?

要在 C# 中生成 QR 码,请使用 IronBarcode 的 QRCodeWriter.CreateQrCode() 方法。提供条形码值、尺寸、纠错级别和 QR 版本。使用诸如 SaveAsPng() 方法保存 QR 码。

哪些因素会影响 QR 码的纠错级别?

QR 码的纠错级别会影响其故障容忍力和复杂性。IronBarcode 提供四个级别:最高、高、中和低,每个级别都会影响 QR 码受损时可恢复的数据量。

我可以在 .NET 中为条形码值使用不同的数据类型吗?

是的,IronBarcode 支持为条形码值使用多种数据类型,包括字符串、字节数组和 MemoryStreams,允许条形码创建的输入格式更加灵活。

QR 版本如何影响 QR 码的数据容量?

IronBarcode 中的 QR 版本决定了 QR 码的数据容量和复杂性。版本范围从 1 到 40,版本越高,允许存储的数据越多。

要使用 IronBarcode,我应该包含哪个命名空间?

在您的 C# 项目中包含 IronBarcode 命名空间,以访问库提供的所有条形码创建和操作功能。

Hairil Hasyimi Bin Omar
软件工程师
如所有伟大的工程师一般,Hairil 是个热心的学习者。他正在提高对 C#、Python 和 Java 的知识,并利用这些知识为 Iron Software 团队成员增值。Hairil 从马来西亚的玛拉工业大学加入 Iron Software 团队,获得化学与工艺工程学士学位。
准备开始了吗?
Nuget 下载 1,935,276 | 版本: 2025.11 刚刚发布