跳至页脚内容
使用 IRONQR

如何在 C# 中创建 QR 代码生成器应用

欢迎阅读我们关于使用 C# 创建 QR 代码的指南! QR 码和 .NET BarCode DLL 已成为快速、高效地共享信息的流行方式。 无论您是在开发应用程序、管理网站,还是在寻找一种简便的链接共享方式,这些代码都会非常有用。 在本指南中,我们将演示如何使用 IronQR高效生成 QR 代码,确保您可以生成符合自身需求的 QR 代码。 该库可让任何使用 C# 的人员轻松创建二维码,而无需涉足复杂的逻辑。 我们将指导您完成所有步骤,确保您拥有开始工作所需的一切。 无论您是想在自己的应用程序中添加 QR 代码生成器功能,还是只是想了解它是如何实现的,您都找对了地方。 让我们开始吧。

如何在 C# 中创建二维码生成器

IronQR:C# QR 库IronQR 的一些主要功能读取 QR 代码 qrResults = qrReader.Read(qrInput); // Print the value of each QR code found in the image foreach (var result in qrResults) { Console.WriteLine(result.Value); } ``` 我们使用以下 QR 进行扫描: !a href="/static-assets/qr/blog/csharp-qr-code-generator-application-tutorial/csharp-qr-code-generator-application-tutorial-1.webp">How to Create a QR Code Generator Application In C#:图 1 - QR 码 PNG 图像文件。 我们得到了这样的结果: !a href="/static-assets/qr/blog/csharp-qr-code-generator-application-tutorial/csharp-qr-code-generator-application-tutorial-2.webp">How to Create a QR Code Generator Application In C#:图 2 - 读取 QR 码输出。 这一过程首先要纳入必要的命名空间,`IronQR` 和 `IronSoftware.Drawing` ,并特别提及 `IronSoftware.Drawing` 命名空间中的 `Color` 以处理图像处理。 在进入二维码读取流程之前,必须先将许可证密钥分配给 `IronQR.License.LicenseKey` 以激活软件。 然后,代码将使用 `AnyBitmap.FromFile("QRCode.png")` 从文件中加载二维码图像。 图像加载完成后,下一步就是准备二维码检测。 准备工作是通过创建一个 `QrImageInput` 对象来完成的,该对象是图像的容器。 该功能的核心在于 `QrReader` 类,该类被实例化并用于执行 QR 码读取操作。 阅读器会分析准备好的图像`qrInput`,搜索其中包含的任何 QR 代码。 此操作的结果是 `QrResult` 对象的集合,每个对象代表图像中检测到的 QR 代码。 为了访问和使用 QR 代码中编码的数据,代码使用 `foreach` 循环遍历结果集合。每个 `QrResult` 对象都包含可访问和显示的属性,如 QR 代码的值。

自定义 QR 读取模式选项

mixedScanResults = new QrReader().Read(mixedScanInput); // Using machine learning scan mode QrImageInput mlScanInput = new QrImageInput(inputImage, QrScanMode.OnlyDetectionModel); IEnumerable mlScanResults = new QrReader().Read(mlScanInput); // Using basic scan mode QrImageInput basicScanInput = new QrImageInput(inputImage, QrScanMode.OnlyBasicScan); IEnumerable basicScanResults = new QrReader().Read(basicScanInput); ```

阅读高级 QR 代码

scanResults = qrScanner.Read(qrInput); // Print the value, URL, and coordinates of each QR code found in the image foreach (QrResult qrResult in scanResults) { Console.WriteLine(qrResult.Value); Console.WriteLine(qrResult.Url); foreach (IronSoftware.Drawing.PointF coordinate in qrResult.Points) { Console.WriteLine($"{coordinate.X}, {coordinate.Y}"); } } ``` 这是我们使用 IronQR 扫描二维码时的输出结果: !a href="/static-assets/qr/blog/csharp-qr-code-generator-application-tutorial/csharp-qr-code-generator-application-tutorial-3.webp">How to Create a QR Code Generator Application In C#:图 3 - 扫描 QR 码输出。 我们使用以下 QR 代码: !a href="/static-assets/qr/blog/csharp-qr-code-generator-application-tutorial/csharp-qr-code-generator-application-tutorial-4.webp">How to Create a QR Code Generator Application In C#:图 4 - QR 码输入。 每个 `QrResult` 对象都提供对解码数据(`Value`)、任何嵌入式 URL(`Url`)和图像中 QR 代码的空间坐标(`Points`)的访问。 对于检测到的每个 QR 代码,IronQR 都会提供详细信息,包括 QR 代码中包含的确切内容和任何 URL。 此外,该库还提供了二维码边角在图像中的精确坐标(通过 `Points` 属性)。 要在 C# 应用程序中使用 IronQR QR 代码库创建 QR 代码生成器,请仔细按照以下步骤操作。 本指南将带您设置一个 Windows 表单应用程序、安装 IronQR 库、编写生成二维码的代码并了解输出结果。

步骤 1:在 Visual Studio 中创建 Windows 应用程序

How to Create a QR Code Generator Application In C#:图 5 - Windows 窗体应用程序 * 输入项目名称并选择保存位置。 然后在下一屏幕中选择 .NET Framework。 然后单击 **创建**。 !a href="/static-assets/qr/blog/csharp-qr-code-generator-application-tutorial/csharp-qr-code-generator-application-tutorial-6.webp">How to Create a QR Code Generator Application In C#:图 6 - 项目配置 它将在 Visual Studio 中创建并打开一个 Windows 表单应用程序。

步骤 2:安装 IronQR 库

使用 NuGet 包管理器进行安装How to Create a QR Code Generator Application In C#:图 7 - 管理 NuGet 软件包。 * 在列表中找到 **IronQR**,然后单击其旁边的 **安装**。 !a href="/static-assets/qr/blog/csharp-qr-code-generator-application-tutorial/csharp-qr-code-generator-application-tutorial-8.webp">How to Create a QR Code Generator Application In C#:图 8 - 安装 IronQR

使用 NuGet 包管理器进行安装

**NuGet软件包管理器** > **软件包管理器控制台**。 !a href="/static-assets/qr/blog/csharp-qr-code-generator-application-tutorial/csharp-qr-code-generator-application-tutorial-9.webp">How to Create a QR Code Generator Application In C#:图 9 - NuGet 软件包管理器。 * 键入 **Install-Package IronQR**,然后按 Enter。 !a href="/static-assets/qr/blog/csharp-qr-code-generator-application-tutorial/csharp-qr-code-generator-application-tutorial-10.webp">How to Create a QR Code Generator Application In C#:图 10 - 安装 IronQR

步骤 3:设计前端

How to Create a QR Code Generator Application In C#:图 11 - QR 码生成器

3.1 标题

How to Create a QR Code Generator Application In C#:图 12 - 生成 QR 码。 启动 QR 代码生成器应用程序后,用户会立即看到一个醒目的标题,标题为 "QR Generator IronQR",字体粗体,具有权威性。 之所以选用 Agency FB 字体,是因为它线条简洁、现代,给人一种高效、精确的感觉。 标题的字体大小为 48 磅,既突出又醒目,既能吸引用户的注意力,又能牢固确立应用程序的身份。

3.2 输入部分

二维码的文本输入How to Create a QR Code Generator Application In C#:图 13 - QR 码文本输入。 输入部分的核心是一个简单而基本的组件:文本输入框。 在这里,用户可以输入他们希望编码到 QR 代码中的数据。 方框宽敞,可容纳大量文字,并位于靠近顶部的显著位置。

标识选择

How to Create a QR Code Generator Application In C#:图 14 - 选择徽标 在文本输入下方,"选择徽标 "区域允许进行额外的定制。 用户可以上传将嵌入二维码的徽标,以提高品牌识别度或个性化二维码。 相邻的图片框提供了所选徽标的预览,可提供即时的视觉反馈。

颜色配置

How to Create a QR Code Generator Application In C#:图 15 - 背景颜色 向右移动,界面显示了颜色选择选项。 两个按钮,一个用于 QR 代码的颜色,另一个用于背景颜色,使用户能够自定义 QR 代码的调色板。 这些按钮旁边的富文本框显示了当前选择的颜色。 输入部分的文字、徽标和颜色选项布局考虑周到,体现了对用户在创建二维码时的优先级的清晰理解。 它将功能性与灵活性相结合,使用户能够快速、高效地输入必要的信息,同时也为创造性提供了空间。

3.3样式参数

How to Create a QR Code Generator Application In C#:图 16 - 造型

尺寸设置

边距设置3.4 输出预览How to Create a QR Code Generator Application In C#:图 17 - QR 输出。 一旦用户开始生成二维码,表单左侧标有 "输出 "的大图片框就会成为焦点。 它可以作为动态显示,提供生成的 QR 代码的实时预览。 这种即时的视觉反馈对于用户在保存之前验证他们的设计选择并确保二维码符合他们的期望至关重要。

3.5动作按钮

How to Create a QR Code Generator Application In C#:图 18 - C# 中的 QR 码。 生成 QR "按钮是应用程序界面中的关键控制元素。 该按钮位于表单的重要位置,是二维码创建过程的催化剂。 点击该按钮后,应用程序将接收用户定义的所有输入数据和样式参数,并开始生成自定义 QR 代码。

保存 QR 代码

How to Create a QR Code Generator Application In C#:图 19 - 保存 生成 QR 代码并显示在输出预览区后,"保存 QR "按钮就会发挥作用。 点击后会打开一个保存对话框,允许用户选择所需的文件格式和保存位置。

重置表单

How to Create a QR Code Generator Application In C#:图 20 - 重置 只需单击一下,该按钮即可清除之前的所有输入和选择,将所有设置恢复为默认值。 它是表单的一个重要方面,提供了一种无需手动调整每个选项即可重新初始化应用程序的快速方法。

步骤 4:编写后台逻辑

4.1 设置和初始化EnsureDirectoryExists:鉴于需要保存生成的 QR 代码,此方法可确保存在可用的专用目录。 它将检查应用程序启动路径中是否存在 "QR 码 "目录,如果不存在,则创建该目录。

4.2 许可证密钥配置

4.3 目录管理4.4 颜色选择4.5 添加徽标4.6 QR 代码生成 0 ? Convert.ToInt32(txt_dimension.Value) : throw new ArgumentException("Please select valid dimensions!"), Margins = Convert.ToInt32(txt_margin.Value), Logo = logoBmp != null ? new QrLogo { Bitmap = logoBmp, Width = 50, Height = 50, CornerRadius = 5 } : null }; } ``` 该方法会创建一个 `QrStyleOptions` 对象,然后 QR 代码生成逻辑会使用该对象来应用用户的首选项。 选项包括 * **`BackgroundColor`和`Color`**:这些属性可设置 QR 代码的背景和前景颜色,从而实现与品牌或审美偏好相匹配的个性化外观。 * **`尺寸`**:该属性决定了 QR 代码的尺寸,从而为 QR 代码在不同环境或媒介中的应用提供了灵活性。 * **`边距`**:此属性可设置二维码周围的边距大小,确保二维码与周围元素隔离,这对可扩展性至关重要。 * **`徽标`**:如果用户选择包含徽标,则将在此处配置特定尺寸和角半径,以获得精致的外观。

4.7 保存 QR 代码

4.8 重置应用程序4.9 错误处理4.10 完整代码示例 0 ? Convert.ToInt32(txt_dimension.Value) : throw new ArgumentException("Please select valid dimensions!"), Margins = Convert.ToInt32(txt_margin.Value), Logo = logoBmp != null ? new QrLogo { Bitmap = logoBmp, Width = 50, Height = 50, CornerRadius = 5 } : null }; } private void btn_save_Click(object sender, EventArgs e) { SaveQRCode(); } private void SaveQRCode() { if (pictureBox.Image == null) { MessageBox.Show("There is no QR code to save.", "Error"); return; } saveFileDialog.Filter = "PNG Files|*.png|JPEG Files|*.jpg"; saveFileDialog.Title = "Save QR Code"; saveFileDialog.FileName = "QRCode"; if (saveFileDialog.ShowDialog() == DialogResult.OK) { try { pictureBox.Image.Save(saveFileDialog.FileName, DetermineImageFormat(saveFileDialog.FileName)); MessageBox.Show("QR Code has been saved!", "Success"); } catch (Exception ex) { ShowError("An error occurred while saving the QR code", ex.Message); } } } private System.Drawing.Imaging.ImageFormat DetermineImageFormat(string filePath) { return System.IO.Path.GetExtension(filePath).ToLower() == ".jpg" ? System.Drawing.Imaging.ImageFormat.Jpeg : System.Drawing.Imaging.ImageFormat.Png; } private void btn_reset_Click(object sender, EventArgs e) { ResetFields(); } private void ResetFields() { txt_QR.Text = string.Empty; txt_dimension.Value = 200; txt_margin.Value = 0; bgColor = Color.White; color = Color.Black; txt_selected_color.BackColor = bgColor; txt_selected_bgcolor.BackColor = color; logoBmp = null; selected_logo.Image = null; pictureBox.Image = null; } private static void ShowError(string title, string message) { MessageBox.Show($"{title}: {message}", "Error"); } } } ```

步骤 5:运行应用程序

How to Create a QR Code Generator Application In C#:图 21 - 应用程序输出 翻译过程的第一步是在 "输入 QR 文本 "字段中输入数据。 这些数据将构成 QR 代码的内容,如 URL 或文本信息。 接下来,为了个性化 QR 代码,我们点击 "选择徽标 "按钮来选择一个徽标。 选择后,徽标会被明显地放置在按钮旁边的预览框中,确认其已纳入 QR 代码设计中。 !a href="/static-assets/qr/blog/csharp-qr-code-generator-application-tutorial/csharp-qr-code-generator-application-tutorial-22.webp">How to Create a QR Code Generator Application In C#:图 22 - 徽标 选定徽标后,我们选择了二维码的前景色和背景色。 点击相应的按钮后,所选的颜色会反映在每个按钮旁边的颜色显示框中,让我们立即直观地确认自己的选择。 !a href="/static-assets/qr/blog/csharp-qr-code-generator-application-tutorial/csharp-qr-code-generator-application-tutorial-23.webp">How to Create a QR Code Generator Application In C#:图 23 - 颜色选择 对于这个特定的 QR 代码,我们将尺寸设置为 500,确保代码的大小符合我们的需求,并将页边距调整为 20,为 QR 代码提供一个缓冲区,防止出现扫描问题。 !a href="/static-assets/qr/blog/csharp-qr-code-generator-application-tutorial/csharp-qr-code-generator-application-tutorial-24.webp">How to Create a QR Code Generator Application In C#:图 24 - 尺寸 设置好所有输入和样式选项后,我们点击 "生成 QR "按钮生成 QR 代码。 应用程序会处理我们的输入,并在输出图片框中显示刚刚创建的二维码。 !a href="/static-assets/qr/blog/csharp-qr-code-generator-application-tutorial/csharp-qr-code-generator-application-tutorial-25.webp">How to Create a QR Code Generator Application In C#:图 25 - 读取 QR 码输出。 要保存生成的 QR 代码,只需点击 "保存 QR "按钮即可。 此操作将打开一个保存对话框,允许我们选择二维码图像的目的地和文件格式。 !a href="/static-assets/qr/blog/csharp-qr-code-generator-application-tutorial/csharp-qr-code-generator-application-tutorial-26.webp">How to Create a QR Code Generator Application In C#:图 26 - 保存对话框 保存后,成功信息将确认 QR 代码已成功存储。 !a href="/static-assets/qr/blog/csharp-qr-code-generator-application-tutorial/csharp-qr-code-generator-application-tutorial-27.webp">How to Create a QR Code Generator Application In C#:图 27 - 成功消息 如果我们需要重新开始或创建新的 QR 代码,单击 "重置表单 "按钮可将表单还原为原始状态,清除所有字段和选择,为下一次生成 QR 代码做好准备。 !a href="/static-assets/qr/blog/csharp-qr-code-generator-application-tutorial/csharp-qr-code-generator-application-tutorial-28.webp">How to Create a QR Code Generator Application In C#:图 28 - 重置表单 以下是 IronQR 生成的已保存 QR 代码: !a href="/static-assets/qr/blog/csharp-qr-code-generator-application-tutorial/csharp-qr-code-generator-application-tutorial-29.webp">How to Create a QR Code Generator Application In C#:图 29 - QR 码输出。

结论

常见问题解答

如何在C#中创建二维码生成器应用程序?

要在C#中创建二维码生成器应用程序,首先在Visual Studio中设置Windows窗体应用程序。通过NuGet安装IronQR库,设计带有文本、徽标和颜色输入字段的界面,然后使用IronQR的方法实现二维码生成逻辑。

C#中的二维码有哪些定制选项?

IronQR提供了二维码的定制选项,例如更改颜色、尺寸和边距。你也可以通过在QrStyleOptions对象中调整设置来向二维码中添加徽标。

如何在C#项目中安装二维码库?

在Visual Studio中使用NuGet包管理器安装IronQR库到你的C#项目中。搜索IronQR并点击“安装”按钮将其添加到你的项目中。

我可以使用哪些格式在C#中保存生成的二维码?

使用IronQR,可以生成并保存为包括PNG和JPEG在内的各种格式的二维码,以便在质量和文件大小方面灵活选择。

我可以使用C#库读取二维码吗?

是的,IronQR包括读取二维码的功能,使得可以有效地解码和提取QR图像中的数据。

使用C#二维码库有什么好处?

像IronQR这样的C#二维码库简化了生成和读取二维码的过程,它提供多格式支持、定制选项以及与各种.NET版本的兼容性。

如何在C#中处理二维码生成时的错误?

可以通过在C#中使用try-catch块将错误处理集成到二维码生成应用程序中。这样可以确保在生成二维码过程中出现的任何问题得到顺利处理,并提供用户友好的反馈。

在C#应用程序中使用二维码库需要许可证吗?

是的,若要不受限制地使用IronQR,您需要一个有效的许可证密钥。试用版可用于初步测试,购买专业许可证可以获得完整访问权限。

如何在C#中将徽标集成到二维码中?

使用IronQR,可以通过在QrStyleOptions对象中设置徽标图像来将徽标集成到二维码中。这允许您使用品牌元素个性化二维码。

运行C#中的二维码生成应用程序的步骤是什么?

在C#中设置并自定义二维码生成应用程序后,只需在Visual Studio中运行该应用程序,生成二维码,并使用提供的选项保存为您所需的格式。

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