IRONSOFTWAREHOME
USING IRONQR

如何使用 QRCoder 比较 IronQR 在 .NET 6 中生成 QR 代码

Curtis Chau
Curtis Chau
Updated: 2026年6月28日

在C#中生成二维码

在C#应用程序中创建二维码是开发人员的常见需求,尤其是涉及产品识别、票务或轻松共享URL和其他数据的应用程序。 有多种库可以用于在C#中生成二维码。 两个值得注意的选项是QRCoderIronQR。 在这里,我们将探讨这两者,比较它们的功能、易用性、性能以及与.NET 6开发人员相关的其他因素。在本文中,我们将深入比较这些库,检查它们的功能、易用性、许可等,并附有代码示例来说明它们的使用。

如何在.NET 6中使用QRCoder与IronQR生成二维码

  1. 创建一个新的Visual Studio项目来生成二维码
  2. 安装QRCoder和IronQR的NuGet包进行比较
  3. 使用QRCoder和IronQR创建二维码
  4. 使用QRCoder和IronQR的自定义选项

QRCoder

QRCoder是一个用C#编写的开源库,它提供QR码的实现,允许在任何.NET应用程序中生成根据ISO/IEC 18004定义的QR码。 它是一个轻量级且易于使用的库,没有对其他库或网络栈的依赖。

以下是QRCoder的主要功能和优势:

1. 易于使用

C# QRCoder提供直观易用的API,使开发人员可以轻松生成QR代码/QR代码文本,所需的努力最小化。 它的简单性使各个技能水平的开发人员都可以快速集成二维码生成到他们的项目中。

2. 广泛的自定义选项

QRCoder的突出特点之一是它可以根据特定要求自定义二维码。 开发者可以调整参数,如错误校正级别、大小、颜色,甚至可以在二维码中嵌入徽标或图像。

3. 多种编码格式

QRCoder支持多种编码格式,使开发人员能够将不同类型的数据编码到二维码中。 无论是纯文本、URL、联系信息还是Wi-Fi凭证,QRCoder都可以处理多种数据格式。

4. 高质量输出

C# QRCoder生成的二维码质量很高,确保在不同设备和扫描条件下的可读性和可靠性。 这种可靠性对基于二维码作为物理和数字交互桥梁的应用程序至关重要。

5. 开源和活跃开发

C# QRCoder是一个开源项目,允许开发人员对其发展做出贡献,并确保持续改进和更新。 这种活跃的社区参与促进了创新,并确保该库在不断变化的技术环境中保持相关性。

IronQR

IronQR是由Iron Software开发和维护的一个功能强大的C# QR码库。 它允许C#软件工程师在.NET应用程序和网站中检测、读取和创建二维码。 以下是IronQR的一些主要特点:

二维码生成

IronQR使QR码生成具有高度的可定制性。 您可以创建具有各种选项的二维码,如调整大小、边距、边框和重新着色。

using IronQr;
using IronSoftware.Drawing;

public class Program
{
    public static void Main()
    {
        // Prepare a QR Code object
        QrCode theQrGen = QrWriter.Write("Awesome IronQR");
        // Save QR Code to memory
        AnyBitmap myQrImage = theQrGen.Save();
        // Save QR Code image to disk
        myQrImage.SaveAs("awesome.png");
    }
}

二维码读取

IronQR使用先进的机器学习模型进行二维码检测。 这种模型确保了二维码的准确和快速读取。 IronQR支持从各种图像格式(包括JPG、PNG、SVG、bmp以及多页图像如gif和tif)中读取二维码

using IronQr;
using IronSoftware.Drawing;
using System.Collections.Generic;

public class Program
{
    public static void Main()
    {
        // Read QR code
        var inputBmp = AnyBitmap.FromFile("awesome.png");
        // Load the image into QrImageInput
        QrImageInput imageInput = new QrImageInput(inputBmp);
        // Create the QR Reader object
        QrReader reader = new QrReader();
        // Read the Input and get all embedded QR Codes
        IEnumerable<QrResult> results = reader.Read(imageInput);
    }
}

跨平台兼容性

  1. 桌面:适用于Windows桌面应用程序(WPF和MAUI)。
  2. 移动:与Xamarin和MAUI兼容。
  3. Web:支持Blazor和WebForms。
  4. 控制台:应用和库环境。
  5. 云:Docker、Azure和AWS。

编码数据

您可以在二维码中编码各种数据类型,包括文本、URL、字节和数字。

错误修正

IronQR提供详细的错误消息和自定义的错误校正选项。

IronQR被全球的工程师信任,其可靠性和易用性深受好评。 可以通过NuGet安装IronQR以开始使用。

步骤1: 创建一个新的Visual Studio项目来生成二维码

要开始编写代码,我们先创建一个Visual Studio项目。 打开Microsoft Visual Studio 2022,选择"创建新项目"选项。

How to Generate QR code using QRCoder compare to IronQR in .NET 6: Figure 1 - Open Visual Studio and click on "Create a new project" option

从模板列表中选择控制台应用程序模板

How to Generate QR code using QRCoder compare to IronQR in .NET 6: Figure 2 - Select the project type as "Console App."

然后提供项目名称和解决方案名称。 选择存储项目文件的路径

如何在.NET 6中使用QRCoder与IronQR生成二维码:图3 - 通过指定项目名称、位置和解决方案名称来配置您的项目,然后点击下一步。

选择所需的.NET版本。 撰写本文时,我选择使用最新的.NET 8框架。

如何在.NET 6中使用QRCoder与IronQR生成二维码:图4 - 选择最新的.NET Framework版本并点击

点击创建按钮后,项目被创建并准备好进行开发。

步骤2: 安装QRCoder和IronQR的NuGet包

QRCoder的NuGet包可以通过Visual Studio NuGet包管理器安装,如下所示。

How to Generate QR code using QRCoder compare to IronQR in .NET 6: Figure 5 - Install QRCoder using the Manage NuGet Package for Solution by searching "QRCoder" in the search bar of NuGet Package Manager, then select the project and click on the Install button.

或者可以在NuGet包管理器控制台中使用以下命令安装。

dotnet add package QRCoder --version 1.4.3

QRCoder的NuGet包可以在NuGet网站上找到

如何在.NET 6中使用QRCoder与IronQR生成二维码:图6 - QRCoder NuGet包

IronQR也可以通过Visual Studio NuGet包管理器类似地安装,如下所示。

How to Generate QR code using QRCoder compare to IronQR in .NET 6: Figure 7 - Install IronQR using the Manage NuGet Package for Solution by searching "IronQR" in the search bar of NuGet Package Manager, then select the project and click on the Install button.

同样,在NuGet包管理器控制台中使用以下命令

dotnet add package IronQR --version 2024.4.1

如何在.NET 6中使用QRCoder与IronQR生成二维码:图8 - IronQR NuGet包

步骤3: 使用QRCoder和IronQR创建二维码

使用这两个库创建二维码需要简单的代码,让我们来看看。

QRCoder

以下代码显示了如何利用QRCoder生成我们的第一个二维码

using QRCoder;
using System.Drawing;
using System.IO;

namespace QRCoderVsIronQR
{
    public class Program
    {
        public static void Main()
        {
            // Initialize QRCodeGenerator
            using (QRCodeGenerator qrGenerator = new QRCodeGenerator())
            // Create QR code data
            using (QRCodeData qrCodeData = qrGenerator.CreateQrCode("QRCoder Demo 1", QRCodeGenerator.ECCLevel.Q))
            // Initialize the QR code with the data
            using (BitmapByteQRCode qrCode = new BitmapByteQRCode(qrCodeData))
            {
                // Generate the QR code's graphic and store it in a byte array
                byte[] qrCodeImage = qrCode.GetGraphic(20);

                // Convert the byte array to an image format and save it to disk
                using (var file = Image.FromStream(new MemoryStream(qrCodeImage)))
                {
                    file.Save("QrCoderDemo1.png");
                }
            }
        }
    }
}

代码解释

  1. 初始化CreateQrCode方法生成二维码数据。
  2. 使用GetGraphic方法从二维码数据生成字节数组。
  3. 使用Image.FromStream将字节数组转换为图像。
  4. 将生成的图像保存到磁盘。

输出

如何在.NET 6中使用QRCoder与IronQR生成二维码:图9 - 输出:使用QRCoder库生成的二维码图像。

IronQR

以下代码展示了如何使用IronQR生成二维码:

using IronQr;
using IronSoftware.Drawing;

namespace QrCodeWithIronQR
{
    public class Program
    {
        public static void Main()
        {
            // Prepare a QR Code object
            QrCode theQrGen = QrWriter.Write("Awesome IronQR");
            // Save QR Code to memory
            AnyBitmap myQrImage = theQrGen.Save();
            // Save QR Code image to disk
            myQrImage.SaveAs("awesome.png");
        }
    }
}

您已经可以看到代码量的差异。 IronQR代码生成需要更少的代码。

代码解释

  1. 使用QrWriter.Write方法创建二维码,并传递所需内容。
  2. 使用Save方法将二维码保存到内存中。
  3. 使用SaveAs将二维码图像保存到磁盘。

输出

由于我正在使用该库的试用版,输出带有IronQR水印。 使用许可版本时,这将被移除。

如何在.NET 6中使用QRCoder与IronQR生成二维码:图10 - 输出:使用IronQR生成的二维码图像

步骤4: 使用QRCoder和IronQR自定义选项

这两个库都支持自定义选项。 让我们看看一些可用的选项

我们可以在QRCoder中像下面这样设置二维码的颜色:

using QRCoder;
using System.Drawing;
using System.IO;

namespace QRCoderVsIronQR
{
    public class Program
    {
        public static void Main()
        {
            // Initialize QRCodeGenerator
            using (QRCodeGenerator qrGenerator = new QRCodeGenerator())
            // Create QR code data
            using (QRCodeData qrCodeData = qrGenerator.CreateQrCode("QRCoder Demo 1", QRCodeGenerator.ECCLevel.Q))
            // Initialize the QR code with the data
            using (BitmapByteQRCode qrCode = new BitmapByteQRCode(qrCodeData))
            {                
                // Generate the QR code's graphic, specifying foreground and background colors
                byte[] qrCodeImage = qrCode.GetGraphic(20, Color.Red, Color.Green);

                // Convert the byte array to an image format and save it to disk
                using (var file = Image.FromStream(new MemoryStream(qrCodeImage)))
                {
                    file.Save("QrCoderDemo1.png");
                }
            }
        }
    }
}

代码解释

  1. 初始化CreateQrCode方法生成二维码数据。
  2. 使用GetGraphic方法从二维码数据生成字节数组,指定前景(红色)和背景(绿色)颜色。
  3. 使用Image.FromStream将字节数组转换为图像。
  4. 将生成的图像保存到磁盘。

输出

如何在.NET 6中使用QRCoder与IronQR生成二维码:图11 - 输出:使用QRCoder的定制功能生成的彩色二维码图像。

我们可以像下面的代码这样为IronQR二维码生成设置颜色:

using IronQr;
using IronSoftware.Drawing;
using System.Drawing;

namespace QrCodeWithIronQR
{
    public class Program
    {
        public static void Main()
        {
            // Set options
            QrOptions options = new QrOptions(QrErrorCorrectionLevel.Medium, 20);

            // Create QR
            QrCode myQr = QrWriter.Write("IronQR Generation Demo 1", options);

            // Style options
            AnyBitmap logoBmp = new AnyBitmap("logo.png");
            QrStyleOptions style = new QrStyleOptions
            {
                BackgroundColor = Color.Aqua,
                Dimensions = 300, // px
                Margins = 10, // px
                Color = Color.Red,
                Logo = new QrLogo
                {
                    Bitmap = logoBmp,
                    Width = 100,
                    Height = 100,
                    CornerRadius = 2
                }
            };

            // Save QR Code
            AnyBitmap qrImage = myQr.Save(style);
            // Save QR Code to local disk
            qrImage.SaveAs("advancedQr.png");
        }
    }
}

使用IronQR有许多自定义选项。 在上面的程序中,我们尝试自定义背景色、二维码颜色、边距。 我们还可以设置尺寸。

代码解释

  1. 首先,创建QrOptions对象以设置错误纠正级别。
  2. 使用QrWriter.Write方法准备二维码。
  3. 使用QrStyleOptions设置样式选项。
  4. 设置背景色、前景色、边距、尺寸,甚至为二维码设置徽标。
  5. 将二维码图像保存到本地磁盘。

输出

如何在.NET 6中使用QRCoder与IronQR生成二维码:图12 - 输出:使用IronQR及其定制功能生成的彩色二维码图像。

许可

QRCoder是一个基于MIT许可证的包,由社区提供支持。 这个包适合小型预算项目。 用户需要等社区解决问题,或自行修复并通过拉请求提交代码到Git存储库。

IronQR需要许可证。 它由Iron Software支持。

可以获取IronQR试用许可证。 获取的密钥需要放置在这里的appSettings.json文件中:

{
   "IronQr.License.LicenseKey": "myKey"
}
JSON

结论

在C# QRCoderIronQR之间进行选择最终取决于您项目的具体需求。 如果您需要一个免费和开源的具有许多自定义选项的二维码库,那么由于其简单性和广泛的自定义选项,C# QRCoder可能是首选。

如果您需要一个企业级库,它不仅支持带有自定义选项的二维码生成,还支持二维码读取,那么IronQR将是终极选择。借助IronQR库、其众多优势和来自Iron Software的支持功能,开发人员可以轻松安心地编写企业应用程序。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

相关文章

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户