跳至页脚内容
USING IRONBARCODE

How to Make A QR Code For A Link (C# Tutorial)

1.0 介绍

快捷响应码,或称为QR码,其根源在于日本的汽车行业。 它也被称为QR符号、QR图形或QR代码图形。 它是由原昌宏于1994年创造的,最初的应用是在汽车装配过程中,作为一种快速简单的工具来监控车辆的进度。 自那时起,QR码作为条形码替代品的使用在汽车制造业之外大幅增长。 这都归功于其较快的读取速度和存储容量。 QR码可用于交换和存储信息,用于营销目的以及社交媒体网站和帐户,除了跟踪和识别产品之外。 可以用相机应用程序扫描从应用程序生成的静态QR码。

2.0 IronBarcode 特性

使用IronBarcode的QR码库,创建动态QR码变得简单。 只需几行代码,这个简单的库就能快速创建QR码。 IronBarcode可以生成高质量的QR码,并且使QR码扫描器能轻松读取自定义代码。

  • 包括UPC A/E、EAN 8/13、Code 39/93/128、ITF、MSI、RSS 14/扩展、Databar和CodaB在内的大多数条形码格式和QR标准都可以被IronBarcode读取和编写。
  • IronBarcode可以读取扫描和实时视频帧,纠正旋转、噪声、变形和倾斜。 IronBarcode自动预处理条码图像,以提高创建QR码时的读取效率和准确性。 它们允许进行内容编辑,动态QR码尤其受到欢迎。
  • IronBarcode可以在多个核心和线程上运行(特别适用于批处理服务器)。
  • IronBarcode能够在单页和多页文档中自动定位一个或多个条形码。
  • IronBarcode适用于.NET Framework和.NET Core实现,并支持32位和64位架构。
  • 在PC和移动平台上,IronBarcode支持控制台、桌面、云和网络应用程序。
  • IronBarcode可以为PDF、JPG、TIFF、GIF、BMP、PNG和HTML等文件和流格式生成QR码图片。

3.0 创建QR码图像

3.1 在Windows/控制台应用程序中使用IronBarcode

The proceeding sections of this article present an example to demonstrate how easily our library generates QR codes.

步骤1. 创建新项目以创建QR码

打开Visual Studio,然后点击文件菜单中的新建项目选项。

在后续窗口中选择控制台应用模板后点击下一步。

如何为一个链接创建QR码(C#教程):图1

在项目名称文本区输入任意项目名称(例如,QR码生成器),然后在位置字段中输入新项目的位置。 然后点击下一步按钮继续。

如何为一个链接创建QR码(C#教程):图2

从框架下拉选项中选择一个Dot NET Framework(这里我们使用的是Dot NET 6.0(长期支持)),然后点击创建。

如何为一个链接创建QR码(C#教程):图3

步骤2. 安装IronBarcode库

通过在包管理器控制台中输入以下代码来下载必要的IronBarcode库:

Install-Package BarCode

如何为一个链接创建QR码(C#教程):图4

或者,我们可以使用NuGet包管理进行搜索并下载"IronBarcode"包,这将列出所有结果,并允许我们选择需要下载的包。

如何为一个链接创建QR码(C#教程):图5

步骤3. 生成QR码图像

IronBarcode允许我们用几行代码创建QR码。 使用QRCodeWriter.CreateQrCode方法来创建一个新的QR码,如下代码所示:

using IronBarCode;

// Create a QR code with a specified URL and dimensions,
// and save it as a PNG file.
QRCodeWriter.CreateQrCode("www.google.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng("NewQR.png");
using IronBarCode;

// Create a QR code with a specified URL and dimensions,
// and save it as a PNG file.
QRCodeWriter.CreateQrCode("www.google.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng("NewQR.png");
Imports IronBarCode

' Create a QR code with a specified URL and dimensions,
' and save it as a PNG file.
QRCodeWriter.CreateQrCode("www.google.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng("NewQR.png")
$vbLabelText   $csharpLabel

该方法唯一必填参数是要编码到代码图像中的数据(可能是一个URL或流)。 此外,该方法还接受三个可选参数:

  • 图形的默认尺寸为500像素宽乘以500像素高。
  • 错误更正级别。 IronBarcode提供低、中、高和最高四种错误更正级别。 CreateQrCode方法默认使用最高级别的更正(QRCodeWriter.QrErrorCorrectionLevel.Highest)。
  • QR码的版本号。 有关可接受变体的列表,请访问此页面。 如果值为0(默认值),则根据将编码的数据来给方法指定正确的版本号。

上面的示例使用中等错误更正级别来生成500乘500像素的图形,从而创建一个自定义QR码。 然后,我们可以调用SaveAsPng方法将生成的QR码保存为指定文件位置的PNG文件。

如何为一个链接创建QR码(C#教程):图6

接下来,我们来看一个用例示例,即用户或企业想要在生成的QR码中加入公司标识。 为此,示例代码中使用了QrCodeWriter.CreateQrCodeWithLogo方法。

using System.Drawing; // Necessary for Color type

// Create a QR code with a logo included.
var QRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("www.google.com", "qrWithlogo.png", 500);

// Customize the color of the QR code using the ChangeBarCodeColor method.
QRWithLogo.ChangeBarCodeColor(Color.DarkRed);

// Save the customized QR code as a new PNG file.
QRWithLogo.SaveAsPng("NewQR_Code.png");
using System.Drawing; // Necessary for Color type

// Create a QR code with a logo included.
var QRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("www.google.com", "qrWithlogo.png", 500);

// Customize the color of the QR code using the ChangeBarCodeColor method.
QRWithLogo.ChangeBarCodeColor(Color.DarkRed);

// Save the customized QR code as a new PNG file.
QRWithLogo.SaveAsPng("NewQR_Code.png");
Imports System.Drawing ' Necessary for Color type

' Create a QR code with a logo included.
Private QRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("www.google.com", "qrWithlogo.png", 500)

' Customize the color of the QR code using the ChangeBarCodeColor method.
QRWithLogo.ChangeBarCodeColor(Color.DarkRed)

' Save the customized QR code as a new PNG file.
QRWithLogo.SaveAsPng("NewQR_Code.png")
$vbLabelText   $csharpLabel

在上述示例中,我们将网址"www.google.com"的字符串值编码到一个新的QR码中,该码将该网站的图片嵌入到给定的文件位置。

QR码中包括了图形。 标识被自动调整到对应的大小,以匹配QR码的正方形网格,使纯代码仍然可读。 我们还可以使用ChangeBarCodeColor方法自定义QR地址条形码的颜色,该方法提供了一系列我们可以在QR码上使用的颜色。 一种使用Color类类型,另一种使用HTML十六进制颜色表示法,如下所示:

QRWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000"));
QRWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000"));
QRWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000"))
$vbLabelText   $csharpLabel

以上代码行指定条码的深红色。 然后,根据代码指示,我们将其保存为PNG文件。我们还可以以其他文件格式保存QR码,例如HTML:

QRWithLogo.SaveAsHtmlFile("test.html");
QRWithLogo.SaveAsHtmlFile("test.html");
QRWithLogo.SaveAsHtmlFile("test.html")
$vbLabelText   $csharpLabel

上述源代码的结果显示在下面的图片中。

如何为一个链接创建QR码(C#教程):图7

QR码可以以其他文件格式保存,如HTML:

QRWithLogo.SaveAsHtmlFile("test.html");
QRWithLogo.SaveAsHtmlFile("test.html");
QRWithLogo.SaveAsHtmlFile("test.html")
$vbLabelText   $csharpLabel

如何为一个链接创建QR码(C#教程):图8

使用IronBarcode QR码生成器网站

IronBarcode也可用于网络应用。 下面提供了MVC Dot Net core 6.0的示例代码。

public IActionResult Index()
{
    // Generate a QR code for www.google.com
    var barcode = QRCodeWriter.CreateQrCode("www.google.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0);

    // Save the QR code as a PNG file
    barcode.SaveAsPng("Barcode.png");

    // Get the file path to the saved QR code
    var filePath = Path.Combine(Directory.GetCurrentDirectory(), "Barcode.png");

    // Return the file as a physical file result to be downloaded
    return PhysicalFile(filePath, "image/png", "Barcode.png");
}
public IActionResult Index()
{
    // Generate a QR code for www.google.com
    var barcode = QRCodeWriter.CreateQrCode("www.google.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0);

    // Save the QR code as a PNG file
    barcode.SaveAsPng("Barcode.png");

    // Get the file path to the saved QR code
    var filePath = Path.Combine(Directory.GetCurrentDirectory(), "Barcode.png");

    // Return the file as a physical file result to be downloaded
    return PhysicalFile(filePath, "image/png", "Barcode.png");
}
Public Function Index() As IActionResult
	' Generate a QR code for www.google.com
	Dim barcode = QRCodeWriter.CreateQrCode("www.google.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0)

	' Save the QR code as a PNG file
	barcode.SaveAsPng("Barcode.png")

	' Get the file path to the saved QR code
	Dim filePath = Path.Combine(Directory.GetCurrentDirectory(), "Barcode.png")

	' Return the file as a physical file result to be downloaded
	Return PhysicalFile(filePath, "image/png", "Barcode.png")
End Function
$vbLabelText   $csharpLabel

我们用于Windows/控制台程序的代码与上面提供的代码相同。 上述代码首先生成一个QR码文件,然后返回它。 然后用户可以下载QR码作为PNG文件。我们还可以使其在移动设备和在线表单中使用。

如何为一个链接创建QR码(C#教程):图9

如何为一个链接创建QR码(C#教程):图10

点击这里获取更多IronBarcode代码教程。

4.0 结论

IronBarcode是用于创建和识别条形码的最有效的库之一。 此外,它也是创建和读取条形码最快的库之一。 该库可以与不同的操作系统兼容。

它易于开发且支持多种条码格式。 我们可以更改颜色、线宽、高度、条码文本等。

您可以在这里找到许可信息。 IronBarcode提供了一个免费的开发者许可版QR码生成器库,以及一个优质版本。 它包括一年的免费支持和更新。

Users can also benefit from Iron Suite, a Suite of 5 professional ASP.NET core libraries including IronBarcode, IronXL, IronPDF, and more.

常见问题解答

QR码在现代应用中的重要性是什么?

QR码提供了一种快速高效的方式来存储和交换信息,使其在许多现代应用中如营销、产品追踪和支付系统中必不可少。IronBarcode使生成和定制这些应用的QR码变得简单。

如何在C#中为网页链接创建QR码?

您可以通过使用IronBarcode调用QRCodeWriter.CreateQrCode方法并将URL作为参数来为网页链接创建QR码。自定义QR码外观并将其保存为PNG或PDF等格式。

使用IronBarcode进行QR码生成有什么优势?

IronBarcode提供高度定制的高级QR码生成功能,如颜色更改和Logo嵌入。它支持各种条形码格式和文件输出,使其在不同应用中具有通用性。

如何将QR码生成集成到.NET Web应用程序中?

要将QR码生成集成到.NET Web应用程序中,请使用IronBarcode与MVC Dot Net core 6.0。该库允许您在Web应用中动态生成QR码,并支持多种下载格式。

我可以使用该库自定义QR码尺寸和错误更正级别吗?

可以,IronBarcode允许您自定义QR码的尺寸和错误更正级别。使用CreateQrCode方法并带有特定参数以根据您的需求调整这些功能。

如何在C#中为QR码添加Logo?

要在C#中为QR码添加Logo,请使用IronBarcode的QRCodeWriter.CreateQrCodeWithLogo方法。此功能允许您在QR码中嵌入Logo,提高品牌可见性,同时保持代码的可读性。

有关QR码生成问题的故障排除提示有哪些?

如果您遇到QR码生成问题,请确保库通过NuGet正确安装,并且所有方法都按照文档使用。检查您的项目设置或.NET版本是否存在任何兼容性问题。

使用该库生成的QR码可以保存为哪些文件格式?

IronBarcode支持将QR码保存为多种文件格式,包括PDF、JPG、TIFF、GIF、BMP、PNG和HTML,为不同的用例提供灵活性。

是否有免费版的QR码生成库可用?

是的,IronBarcode为开发者提供了免费版的QR码生成库。此外,还有包含额外功能、支持和更新的高级版。

Jordi Bardia
软件工程师
Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 利用这些技能时,他就在游戏编程。分享产品测试、产品开发和研究的责任,Jordi 在持续的产品改进中增加了巨大的价值。多样的经验使他面临挑战并保持投入,他表示这是在 Iron Software 工作的最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。