使用 IRONQR 如何使用NuGet包在 C# 中生成二维码 Jordi Bardia 已更新:2026年2月27日 下载 IronQR NuGet 下载 免费试用 LLM副本 LLM副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 在 .NET 应用程序中生成 QR 代码从未如此简单。 使用合适的NuGet包,只需几行代码即可创建二维码、自定义其外观并将其保存为多种输出格式。 IronQR提供企业级二维码生成功能,并跨平台支持.NET Core、 .NET Framework和.NET 5-10。 本教程演示如何安装IronQR NuGet包并立即开始生成二维码。 无论您是构建库存系统、活动票务平台还是营销应用程序, IronQR都能提供专业二维码实施所需的工具。 立即开始使用 IronQR。 免费开始 如何安装二维码NuGet包? 通过 NuGet 软件包管理器安装 IronQR 只需几秒钟。 在 Visual Studio 中打开NuGet包管理器控制台并运行以下命令,或者在 CLI 环境中使用 dotnet add package 命令: Install-Package IronQR NuGet 软件包会自动处理所有依赖关系,确保与目标框架兼容。 IronQR支持.NET Framework 4.6.2+、. .NET Core 2.0+ 和.NET 5-10,使其成为任何 Visual Studio 项目的多功能库。 在编写任何代码之前,您需要一个免费试用许可证密钥。 在应用程序启动时尽早设置,以便所有后续调用都经过身份验证: using IronQr; // Set license key before any IronQR operation IronQr.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"; using IronQr; // Set license key before any IronQR operation IronQr.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"; $vbLabelText $csharpLabel 有了许可证密钥,您的应用程序就可以生成、读取和自定义二维码,而不会在输出图像上添加水印。 如何生成你的第一个二维码? 创建你的第一个二维码只需要极少的代码。 QrWriter 类处理二维码生成,其默认值合理,适用于大多数使用场景: using IronQr; using IronSoftware.Drawing; // Generate a QR code from text data QrCode myQr = QrWriter.Write("Hello World"); // Save QR code as bitmap image AnyBitmap qrImage = myQr.Save(); // Export to PNG file qrImage.SaveAs("hello-qr.png"); using IronQr; using IronSoftware.Drawing; // Generate a QR code from text data QrCode myQr = QrWriter.Write("Hello World"); // Save QR code as bitmap image AnyBitmap qrImage = myQr.Save(); // Export to PNG file qrImage.SaveAs("hello-qr.png"); $vbLabelText $csharpLabel QR 代码输出 NuGet二维码生成器:只需几行 C# 代码即可生成二维码:图 1 - 简单的二维码输出 QrWriter.Write() 方法接受字符串数据,并返回一个包含 QR 符号的 QrCode 对象。 Save() 方法将其转换为 AnyBitmap,支持编码为各种图像格式或导出矢量数据以用于 XAML 路径。 这种方法适用于 Windows、macOS 和 Linux,没有特定于平台的依赖项——这与依赖 System.Drawing 的库不同,后者从.NET 6 开始仅适用于 Windows。 上述三行代码模式涵盖了最常见的场景:编码字符串、获取位图、写入文件。在生产环境中,您通常会传递 URL 字符串、产品标识符或 JSON 数据,而不是纯文本。 如何选择合适的纠错级别? 二维码支持ISO/IEC 18004 二维码标准中定义的四个纠错级别,这些级别决定了二维码在保持可扫描性的同时可以承受多大的损坏。 IronQR通过 QrOptions 类支持所有四个级别: IronQR支持的二维码纠错级别 等级恢复能力最适合 L(低)约7%洁净的环境,最大数据密度 M(中等)约15%通用(默认) Q(四分位数)约25%工业应用 H(高)约30%标志、户外标牌、部分遮挡 using IronQr; using IronSoftware.Drawing; // Configure high error correction level var options = new QrOptions(QrErrorCorrection等级.High); // Generate QR code with options QrCode qr = QrWriter.Write("https://ironsoftware.com/csharp/qr/", options); AnyBitmap image = qr.Save(); image.SaveAs("high-correction-qr.png"); using IronQr; using IronSoftware.Drawing; // Configure high error correction level var options = new QrOptions(QrErrorCorrection等级.High); // Generate QR code with options QrCode qr = QrWriter.Write("https://ironsoftware.com/csharp/qr/", options); AnyBitmap image = qr.Save(); image.SaveAs("high-correction-qr.png"); $vbLabelText $csharpLabel 输出 NuGet二维码生成器:只需几行 C# 代码即可生成二维码:图 2 - 高纠错率二维码 纠错级别越高,QR 符号越密集,原始模块越多,即使代码部分模糊或损坏,也能保持可读性。 对于将要印刷在包装上或嵌入徽标中的条码,H 级是合适的选择。对于仅用于数字显示且无需担心损坏的情况,M 级则兼顾了数据容量和可靠性。 在生产环境中,选择错误的扫描级别是导致扫描失败的常见原因。 如果您的二维码将出现在实物材料上或与摄像头的距离不同,请使用 Q 级或 H 级,并在部署前使用多个扫描应用程序验证输出。 如何自定义二维码外观? IronQR通过 QrStyleOptions 提供丰富的样式选项,支持自定义颜色、尺寸、边距和徽标嵌入。 品牌二维码在营销环境中表现更佳,因为它们在视觉上将二维码与已知的身份联系起来: using IronQr; using IronSoftware.Drawing; // Create styled QR code with custom colors var styleOptions = new QrStyleOptions { Dimensions = 300, // Width and height in pixels Margins = 10, // Quiet zone in pixels Color = Color.DarkBlue, BackgroundColor = Color.White }; QrCode qr = QrWriter.Write("https://ironsoftware.com/csharp/qr/"); AnyBitmap styledImage = qr.Save(styleOptions); styledImage.SaveAs("styled-qr.png"); using IronQr; using IronSoftware.Drawing; // Create styled QR code with custom colors var styleOptions = new QrStyleOptions { Dimensions = 300, // Width and height in pixels Margins = 10, // Quiet zone in pixels Color = Color.DarkBlue, BackgroundColor = Color.White }; QrCode qr = QrWriter.Write("https://ironsoftware.com/csharp/qr/"); AnyBitmap styledImage = qr.Save(styleOptions); styledImage.SaveAs("styled-qr.png"); $vbLabelText $csharpLabel 有风格的 QR 输出 NuGet二维码生成器:只需几行 C# 代码即可生成二维码:图 3 - 样式二维码 Dimensions 属性以像素为单位设置宽度和高度。 Margins 属性控制静默区——扫描器用来定位代码边界的围绕二维码符号的白色边框。 将模块数量减少到低于建议的 4 个模块的最低数量可能会导致旧设备扫描失败。 在 QR 代码中添加徽标可提高品牌识别度。 该样式系统可自动定位徽标,同时保持可扫描性——与需要手动计算位置的开源替代方案相比,这是一个显著的优势。 如何将二维码保存为不同的输出格式? IronQR 支持多种输出格式,包括 PNG、JPEG、GIF、TIFF、BMP 和 SVG。 SaveAs 方法会自动根据文件扩展名检测文件格式: using IronQr; using IronSoftware.Drawing; QrCode qr = QrWriter.Write("Format demonstration"); AnyBitmap image = qr.Save(); // Save to raster image formats image.SaveAs("qr-output.png"); image.SaveAs("qr-output.jpg"); image.SaveAs("qr-output.gif"); // Get as byte array for HTTP responses or database storage byte[] pngBytes = image.ExportBytes(); using IronQr; using IronSoftware.Drawing; QrCode qr = QrWriter.Write("Format demonstration"); AnyBitmap image = qr.Save(); // Save to raster image formats image.SaveAs("qr-output.png"); image.SaveAs("qr-output.jpg"); image.SaveAs("qr-output.gif"); // Get as byte array for HTTP responses or database storage byte[] pngBytes = image.ExportBytes(); $vbLabelText $csharpLabel 多种二维码输出格式 ExportBytes() 方法在 Web 应用程序中特别有用,它允许您通过 HTTP 返回二维码图像而不写入磁盘。 您可以将字节数组直接写入响应流,或者将其存储在数据库列中以便按需检索。 IronQR提供 StampToExistingPdfPage 方法,用于在 PDF 文档中嵌入二维码,从而可以直接在现有文档上放置二维码。 它无需额外的 PDF 库即可原生运行,这在需要尽量减少依赖项数量的微服务环境中非常重要。 如何比较IronQR NuGet包和 QRCoder? QRCoder 库是.NET中用于生成二维码的流行开源选项。 使用过 QRCoder 的开发者都熟悉它的多步骤 API,其中涉及 QRCodeData 以及单独的渲染类,例如 PngByteQRCode。 IronQR将其简化为单个 QrWriter.Write() 调用。 IronQR与 QRCoder 功能对比(面向.NET开发人员) 特征IronQRQRCoder 跨平台渲染完全支持.NET 5-10仅适用于 Windows 的位图渲染 机器学习驱动的阅读检测准确率达 99.9%仅限世代,无阅读 PDF 集成原生印章支持需要其他库 商业支持24/5 工程支持仅限社区 徽标嵌入内置,自动定位需要手动叠加 QRCoder 在 Windows 环境下可以很好地用于基本二维码生成。 IronQR 的机器学习模型能够从任何角度提供卓越的二维码读取性能——这对于处理用户提交的图像(输入质量无法控制)的应用程序至关重要。 单方法 API 还减少了交付可用功能所需的代码行数。 对于从 QRCoder 迁移的团队,请参阅QRCoder 到IronQR迁移指南,以获取并排 API 映射。 如何在二维码中编码二进制数据? 除了文本之外, IronQR还支持对二进制二维码有效载荷进行字节数组编码。 这对于无法用 UTF-8 字符串表示的加密令牌、序列化对象或原始二进制标识符非常有用: using IronQr; using IronSoftware.Drawing; // Encode binary data -- useful for encrypted payloads or binary identifiers byte[] binaryData = System.Text.Encoding.UTF8.GetBytes("Binary content example"); QrCode qr = QrWriter.Write(binaryData); qr.Save().SaveAs("binary-qr.png"); using IronQr; using IronSoftware.Drawing; // Encode binary data -- useful for encrypted payloads or binary identifiers byte[] binaryData = System.Text.Encoding.UTF8.GetBytes("Binary content example"); QrCode qr = QrWriter.Write(binaryData); qr.Save().SaveAs("binary-qr.png"); $vbLabelText $csharpLabel 输出 NuGet二维码生成器:只需几行 C# 代码即可生成二维码:图 5 - 二进制编码二维码 二进制编码允许您在二维码中包含加密的有效载荷、序列化对象或任何二进制内容。 接收端的扫描器必须知道如何解释二进制有效载荷——这在访问控制系统中很常见,其中二维码包含签名令牌而不是人类可读的 URL。 请注意,二进制数据生成的二维码比等效文本数据生成的二维码更密集。 如果有效载荷大小会影响远距离扫描的可靠性,请应用 H 级纠错,并使用您预期用户拥有的最小相机进行测试。 如何在C#中读取二维码? IronQR同时处理写入和读取操作。 QrReader 类接受图像文件、位图和相机帧,使其既适用于批量处理也适用于实时扫描场景: using IronQr; using IronSoftware.Drawing; // Load an existing image containing a QR code var inputImage = AnyBitmap.FromFile("qr-to-read.png"); // Read all QR codes in the image QrReadResult readResult = QrReader.Read(inputImage); foreach (QrResult result in readResult.QrCodes) { // Access the decoded value Console.WriteLine($"Decoded: {result.Value}"); } using IronQr; using IronSoftware.Drawing; // Load an existing image containing a QR code var inputImage = AnyBitmap.FromFile("qr-to-read.png"); // Read all QR codes in the image QrReadResult readResult = QrReader.Read(inputImage); foreach (QrResult result in readResult.QrCodes) { // Access the decoded value Console.WriteLine($"Decoded: {result.Value}"); } $vbLabelText $csharpLabel 这款由机器学习驱动的读取引擎可以处理任意方向的图像,并能处理误差校正阈值范围内的部分损坏。 对于生产环境中的读取场景,请查看二维码读取教程,以获取有关处理低质量输入、多码图像和扫描模式配置的指导。 如何在ASP.NET Core应用程序中使用IronQR ? Web 应用程序经常需要按需生成二维码——用于用户帐户链接、一次性登录代码或支付请求。 以下示例展示了如何通过ASP.NET Core最小 API 端点直接提供二维码图像: using IronQr; using IronSoftware.Drawing; var builder = WebApplication.CreateBuilder(args); var app = builder.Build(); // Set license key at application startup IronQr.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"; // Return a QR code PNG for a given URL parameter app.MapGet("/qr", (string data) => { QrCode qr = QrWriter.Write(data); AnyBitmap image = qr.Save(); byte[] pngBytes = image.ExportBytes(); return Results.File(pngBytes, "image/png"); }); app.Run(); using IronQr; using IronSoftware.Drawing; var builder = WebApplication.CreateBuilder(args); var app = builder.Build(); // Set license key at application startup IronQr.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"; // Return a QR code PNG for a given URL parameter app.MapGet("/qr", (string data) => { QrCode qr = QrWriter.Write(data); AnyBitmap image = qr.Save(); byte[] pngBytes = image.ExportBytes(); return Results.File(pngBytes, "image/png"); }); app.Run(); $vbLabelText $csharpLabel 这种模式既适用于ASP.NET Core 的极简 API,也适用于标准的 MVC 控制器。ExportBytes() 调用避免了将临时文件写入磁盘,这在文件系统可能是只读或临时的容器化部署中非常重要。 有关完整的ASP.NET Core集成演练,请参阅ASP.NET Core二维码生成器教程。 Blazor二维码生成器教程中也提供了 Blazor 专用指南。 如何给二维码图片添加边距并调整大小? 控制尺寸和静区对于保证打印质量至关重要。 IronQR通过 QrStyleOptions 公开了这两种方式,并且有专门的操作指南详细介绍了每一种方式: using IronQr; using IronSoftware.Drawing; // Specify dimensions and quiet zone for print output var printOptions = new QrStyleOptions { Dimensions = 600, // High resolution for print Margins = 20 // Generous quiet zone for reliable scanning }; QrCode qr = QrWriter.Write("https://ironsoftware.com/csharp/qr/"); AnyBitmap printImage = qr.Save(printOptions); printImage.SaveAs("print-ready-qr.png"); using IronQr; using IronSoftware.Drawing; // Specify dimensions and quiet zone for print output var printOptions = new QrStyleOptions { Dimensions = 600, // High resolution for print Margins = 20 // Generous quiet zone for reliable scanning }; QrCode qr = QrWriter.Write("https://ironsoftware.com/csharp/qr/"); AnyBitmap printImage = qr.Save(printOptions); printImage.SaveAs("print-ready-qr.png"); $vbLabelText $csharpLabel 有关不同输出介质的尺寸和边距要求的完整指南,请参阅有关调整二维码图像大小和为二维码添加边距的操作指南文章。 创建二维码图像指南涵盖了从许可证激活到文件输出的完整图像创建工作流程。 针对具体的二维码使用场景(包括 为名片生成二维码、 构建动态二维码生成器以及从图像中读取二维码) ,专门的文章涵盖了每种场景,并提供了完整的代码示例。 下一步计划是什么? IronQR将二维码生成从多步骤流程简化为简单的NuGet集成。 安装软件包,调用 QrWriter.Write(),然后保存结果——这三个操作涵盖了大多数现实世界的场景。 同一个库提供纠错级别、自定义样式、PDF 标记和机器学习驱动的阅读功能。 IronQR文档提供了完整的 API 参考,包括高级主题,例如使用扫描模式读取二维码、批量处理和特定于平台的部署说明。 IronQR教程部分包含.NET MAUI、VB .NET和控制台应用程序的分步指南。 开始免费试用,即可不受限制地探索所有功能,或者购买许可证进行生产部署,并享受 24/5 全天候工程支持。 常见问题解答 如何安装IronQR NuGet包? 在终端中运行dotnet add package IronQR ,或者在 Visual Studio 中打开NuGet程序包管理器控制台并运行Install-Package IronQR 。该程序包支持.NET Framework 4.6.2+、. .NET Core 2.0+ 和.NET 5-10。 如何使用IronQR在 C# 中生成二维码? 调用QrWriter.Write("your-data")创建一个QrCode对象,然后调用.Save()获取AnyBitmap ,最后调用.SaveAs("output.png")写入文件。 IronQR支持哪些二维码输出格式? IronQR支持 PNG、JPEG、GIF、TIFF、BMP 和 SVG 格式。SaveAs 方法会自动根据文件扩展名检测文件格式。使用SaveAs ExportBytes()可以获取字节数组,用于 HTTP 响应或数据库存储。 如何使用IronQR自定义二维码的颜色和大小? 创建一个QrStyleOptions对象,并设置Dimensions (像素)、 Margins (静区像素)、 Color和BackgroundColor 。将此传递给qr.Save(styleOptions) 。 IronQR支持哪些纠错级别? IronQR通过QrErrorCorrectionLevel支持所有四个 ISO/IEC 18004 级别:L(~7% 恢复率)、M(~15%,默认值)、Q(~25%)和 H(~30%)。将级别通过QrOptions对象传递给QrWriter.Write() 。 IronQR与.NET版 QRCoder 相比如何? IronQR提供跨平台渲染(支持.NET 5-10,而 QRCoder 位图渲染仅限 Windows),内置机器学习驱动的读取功能(QRCoder 仅支持生成),原生 PDF 加盖功能,以及一个单一方法的 API。QRCoder 是一款免费的开源软件,适用于简单的 Windows 系统下的二维码生成。 IronQR可以读取图片中的二维码吗? 是的。使用QrReader.Read(AnyBitmap.FromFile("path"))扫描图像。基于机器学习的引擎可以处理任何方向和部分损坏。遍历readResult.QrCodes以访问每个解码result.Value 。 如何在ASP.NET Core应用程序中生成二维码? 在控制器或最小 API 处理程序中调用QrWriter.Write(data) ,然后调用image.ExportBytes()并将字节数组作为Results.File(pngBytes, "image/png")响应返回。无需临时文件。 Jordi Bardia 立即与工程团队聊天 软件工程师 Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 利用这些技能时,他就在游戏编程。分享产品测试、产品开发和研究的责任,Jordi 在持续的产品改进中增加了巨大的价值。多样的经验使他面临挑战并保持投入,他表示这是在 Iron Software 工作的最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。 相关文章 已更新2026年3月1日 QR Code .NET Core Generator & Reader | IronQR for .NET QR 代码 .NET Core 教程:使用 C# 中的 IronQR 生成 QR 代码、配置纠错级别、添加徽标,并以 ML 驱动的精度读取 QR 代码。 阅读更多 已更新2026年3月1日 QR Code .NET Core:使用 C# 读取和生成二维码 学习如何使用IronQR在.NET Core中读取和生成二维码。内容涵盖机器学习驱动的读取、纠错级别、国际字符和跨平台生成,并提供 C# 代码示例。 阅读更多 已更新2026年1月18日 如何在 C# 中从图像读取 QR 在本指南中,我们将引导您如何使用专为 .NET 构建的高性能 QR 代码库 IronQR,只需几行 C# 代码即可从图像读取 QR 代码。 阅读更多 QR Code .NET Core Generator & Reader | IronQR for .NETQR Code .NET Core:使用 C# 读...
已更新2026年3月1日 QR Code .NET Core Generator & Reader | IronQR for .NET QR 代码 .NET Core 教程:使用 C# 中的 IronQR 生成 QR 代码、配置纠错级别、添加徽标,并以 ML 驱动的精度读取 QR 代码。 阅读更多
已更新2026年3月1日 QR Code .NET Core:使用 C# 读取和生成二维码 学习如何使用IronQR在.NET Core中读取和生成二维码。内容涵盖机器学习驱动的读取、纠错级别、国际字符和跨平台生成,并提供 C# 代码示例。 阅读更多
已更新2026年1月18日 如何在 C# 中从图像读取 QR 在本指南中,我们将引导您如何使用专为 .NET 构建的高性能 QR 代码库 IronQR,只需几行 C# 代码即可从图像读取 QR 代码。 阅读更多