跳至页脚内容
使用 IRONQR

如何在 ASP .NET Core 中生成 QR 代码

二维码已成为现代技术不可或缺的一部分,提供了一种便捷的信息存储和传输方式。 在网络开发中,像我们将在 ASP.NET Core 中使用 IronQR 实现的二维码生成器,为动态二维码创建提供了强大的功能。 QR 代码生成器在票务系统、身份验证、库存管理等各种应用中都非常宝贵。 本文深入探讨了使用 IronQR 在 ASP.NET Core 中创建二维码的过程,IronQR 是一个专为此目的而设计的强大库。 ASP.NET Core 作为构建网络应用程序的通用框架,为生成 QR 代码提供了强大的功能。 In this article, we'll delve into the process of creating QR codes in ASP.NET Core using IronQR, a powerful library for QR code generation from Iron Software.

如何在 ASP.NET Core 中生成二维码

主要特点1.读取和创建 QR 代码3.兼容性4.用于 QR 检测的机器学习模型5.阅读 QR 代码6.编写 QR 代码内存流,<代码>字节[]7.二维码样式8.错误处理和更正步骤 1:使用 Visual Studio 创建一个新的 ASP.NET 项目 如何在 ASP .NET Core 中生成二维码:图 3 - 选择正确的 .NET 版本。 点击 "创建 "按钮,从模板中生成应用程序代码 ![ 如何在 ASP .NET Core 中生成二维码:图 4 - 单击 "create" 按钮生成模板代码](/static-assets/qr/blog/asp-net-core-qr-code-generator/asp-net-core-qr-code-generator-4.webp)。

步骤 2:从软件包管理器安装 IronQR 库

How to Generate QR Codes in ASP .NET Core:图 6 - 使用 NuGet 包管理器搜索 IronOCR。

步骤 3:生成 QR 代码

创建 `QRCode` 模型创建 QR 代码控制器How to Generate QR Codes in ASP .NET Core:图 7 - 单击文件夹添加新控制器并为其命名。 选择空控制器。 !a href="/static-assets/qr/blog/asp-net-core-qr-code-generator/asp-net-core-qr-code-generator-8.webp">How to Generate QR Codes in ASP .NET Core:图 8 - 单击提示符上的 "空控制器"。 提供名称。 !a href="/static-assets/qr/blog/asp-net-core-qr-code-generator/asp-net-core-qr-code-generator-9.webp">How to Generate QR Codes in ASP .NET Core:图 9 - 命名控制器 接下来,将以下代码集成到控制器中。 ```csharp using GenerateQRCode.Models; using IronSoftware.Drawing; using IronQr; using Microsoft.AspNetCore.Mvc; namespace GenerateQRCode.Controllers { public class QrCodeController : Controller { private readonly IWebHostEnvironment _environment; public QrCodeController(IWebHostEnvironment environment) { _environment = environment; } public IActionResult Index() { return View(); } [HttpPost] public IActionResult CreateQRCode(QRCodeModel generateQRCode) { try { string path = Path.Combine(_environment.WebRootPath, "GeneratedQRCode"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string filePath = Path.Combine(_environment.WebRootPath, "GeneratedQRCode/qrcode.png"); // Create a QR Code object QrCode myQr = QrWriter.Write(generateQRCode.QRCodeText); // Save QR Code as a Bitmap AnyBitmap qrImage = myQr.Save(); // Save QR Code Bitmap as File qrImage.SaveAs(filePath); string fileName = Path.GetFileName(filePath); // qr code file string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}" + "/GeneratedQRCode/" + fileName; ViewBag.QrCodeUri = imageUrl; } catch (Exception) { throw; } return View(); } } } ```

代码解释

命名空间和类定义控制器构造函数操作方法方法内部QR 代码生成图像保存将视图添加到控制器How to Generate QR Codes in ASP .NET Core:图 10 - 在 `QrCodeController` 类中添加一个新视图。 选择 "添加视图",然后选择 "Razor View"。 单击 "添加 "按钮。 ![ 如何在 ASP .NET Core 中生成二维码:图 11 - 选择 "添加视图 "选项,然后选择 "Razor 视图",再选择 "添加"](/static-assets/qr/blog/asp-net-core-qr-code-generator/asp-net-core-qr-code-generator-11.webp)。 然后选择之前生成的 "创建 "模板和模型类。 ![ 如何在 ASP .NET Core 中生成二维码:图 12 - 选择之前生成的 `Create` 模板](/static-assets/qr/blog/asp-net-core-qr-code-generator/asp-net-core-qr-code-generator-12.webp)。 现在在视图中替换以下代码 ```csharp @model GenerateQRCode.Models.QRCodeModel @{ ViewData["Title"] = "Generate QR Code"; }

Generate QR Code

QRCodeModel


@section Scripts { @{await Html.RenderPartialAsync("_ValidationScriptsPartial");} } ``` 对索引操作方法也进行同样的处理,这样当应用程序启动时,就不会因 POST 请求而出错。 现在,在 `Program.cs` 中,更改以下代码,使上述视图成为默认路径。 ```csharp app.MapControllerRoute( name: "default", pattern: "{controller=QrCode}/{action=Index}" ); ``` 此操作将修改 `HomeController` 到我们的 `QrCodeController` 的默认路由。 现在,编译并运行该项目。 !a href="/static-assets/qr/blog/asp-net-core-qr-code-generator/asp-net-core-qr-code-generator-13.webp">How to Generate QR Codes in ASP .NET Core:图 13 - 项目主页示例。 在文本框中输入任何文本,然后点击 "创建"。这将创建一个新的 QR 代码,如下图所示。 ![ 如何在 ASP .NET Core 中生成二维码:图 14 - 输入任意文本并单击创建,即可利用 IronQR 创建新的 QR 代码](/static-assets/qr/blog/asp-net-core-qr-code-generator/asp-net-core-qr-code-generator-14.webp)。

为 QR 代码添加样式

输出How to Generate QR Codes in ASP .NET Core:图 15 - 以编程方式修改 QR 代码的颜色。

许可证(可试用)

结论

常见问题解答

如何在 ASP.NET Core 中生成 QR 码?

要在 ASP.NET Core 中生成 QR 码,可以使用 IronQR 库。首先在 Visual Studio 中创建一个新的 ASP.NET 项目,通过包管理器安装 IronQR,并实现代码以使用其用户友好的 API 生成 QR 码。

在 ASP.NET Core 中可以对 QR 码进行哪些自定义选项?

IronQR 提供了多种 QR 码自定义选项,包括调整大小、调整边距、更改颜色和添加徽标。这些可以通过 QrStyleOptions 类进行管理。

在 ASP.NET Core 中生成 QR 码的错误校正是如何工作的?

IronQR 允许您在生成 ASP.NET Core 中的 QR 码时管理错误校正级别。这确保了 QR 码具有所需的错误恢复水平,这对于可靠扫描至关重要。

我可以从 ASP.NET Core 中的不同图像格式读取 QR 码吗?

可以,使用 ASP.NET Core 中的 IronQR,您可以从各种图像格式中读取 QR 码,例如 jpg、png、svg、bmp、gif、tif 和 tiff,以及 System.Drawing 位图和 IronDrawing 图像 (AnyBitmap)。

在没有完整许可证的情况下可以测试 IronQR 吗?

可以,您可以从 Iron Software 网站获取 IronQR 的试用许可证。试用版允许您测试库并在测试阶段通过将许可证放入 appSettings.json 文件中移除生成 QR 码上的水印。

在 Web 应用程序中使用 QR 码有何好处?

QR 码对 Web 应用程序有益,因为它们允许高效的数据存储和传输。它们尤其适用于票务系统、认证和库存管理等应用,提供了一种动态编码和共享信息的方式。

机器学习如何增强 ASP.NET Core 中的 QR 码检测?

IronQR 使用先进的定制机器学习模型进行 QR 码检测,确保代码识别的高精度和可靠性。对于更轻量级解决方案的用户,还提供了非 ML 精简模式。

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