IronQR 操作指南 QR 码错误更正 如何设置二维码纠错级别 Curtis Chau 已更新:2026年3月8日 下载 IronQR NuGet 下载 免费试用 LLM副本 LLM副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 This article was translated from English: Does it need improvement? Translated View the article in English 掌控性能。 调整纠错设置,生成更快、更耐用的二维码,即使受损也能可靠地被扫描。 错误校正正是区分一个失效的二维码与一个持续有效的二维码的关键所在。 当打印的标签被刮花、贴纸脱落或海报在阳光下褪色时,错误校正功能将决定条码是否仍可被扫描。 IronQR 允许开发者精确设定 QR 码的耐用程度,从针对清晰数字显示屏优化的轻量级码,到专为仓库和工厂车间环境设计的重型码,一应俱全。 本指南演示了如何使用 IronQR 库配置错误纠正级别,以在任何使用场景下平衡数据密度与损伤容忍度。 初次接触 QR 码生成的开发者,建议先阅读《将 QR 码生成图片》指南。 快速入门:设置二维码纠错 通过 QrOptions 配置错误纠正级别,并生成一个抗损 QR 码。 使用 NuGet 包管理器安装 https://www.nuget.org/packages/IronQR PM > Install-Package IronQR 复制并运行这段代码。 var options = new QrOptions(QrErrorCorrectionLevel.Medium); var qrCode = QrWriter.Write("https://example.com", options); qrCode.Save().SaveAs("qr-medium.png"); 部署到您的生产环境中进行测试 通过免费试用立即在您的项目中开始使用IronQR Free 30 Day Trial 最小工作流程(5 个步骤) 下载 IronQR C# 库,生成带纠错功能的二维码 使用选定的 `ErrorCorrectionLevel` 创建一个 `QrOptions` 对象 使用 `QrWriter.Write()` 并指定这些选项生成二维码 使用 `Save()` 将二维码保存为位图 使用 `SaveAs()` 将位图导出为图像文件 理解错误更正级别 二维码采用里德-所罗门纠错码,即使部分受损或被遮挡,仍可被扫描。 IronQR 中的 QrErrorCorrectionLevel 枚举提供四个级别,每个级别都以牺牲数据容量为代价来换取更高的容错能力: 级别 恢复能力 最适合 QrErrorCorrectionLevel.Low ~7% 损坏 数字屏幕、受控环境 QrErrorCorrectionLevel.Medium ~15% 损坏 通用用途,中等耐用度 QrErrorCorrectionLevel.High ~25% 损坏 印刷品、户外标识 QrErrorCorrectionLevel.Highest ~30% 损坏 工业标签,恶劣环境 更高的纠错率会增加冗余模块,从而提高二维码的视觉密度。 这也会影响生成的图像大小,因此开发人员可能需要相应调整尺寸。 满足耐久性要求的最低级别能使代码保持紧凑且易于扫描。 二维码生成时设置错误更正级别 要设置错误更正级别,请将所需的 QrErrorCorrectionLevel 值传递给 QrOptions 构造函数。 然后在生成二维码时,将这些选项传递给 QrWriter.Write()。 在此示例中,错误修正级别设置为"中等",可在保持代码紧凑的同时恢复多达 15% 的损坏数据。 :path=/static-assets/qr/content-code-examples/how-to/error-correction-qr-code.cs using IronQr; using IronSoftware.Drawing; QrOptions options = new QrOptions(QrErrorCorrectionLevel.Medium); // Create QR code QrCode qr = QrWriter.Write("1234", options); // Save QR code as a bitmap AnyBitmap qrImage = qr.Save(); // Save QR code bitmap as file qrImage.SaveAs("qrMedium.png"); Imports IronQr Imports IronSoftware.Drawing Dim options As New QrOptions(QrErrorCorrectionLevel.Medium) ' Create QR code Dim qr As QrCode = QrWriter.Write("1234", options) ' Save QR code as a bitmap Dim qrImage As AnyBitmap = qr.Save() ' Save QR code bitmap as file qrImage.SaveAs("qrMedium.png") $vbLabelText $csharpLabel 输出 错误更正级别的比较 每个级别生成的二维码在视觉上都有所不同。 较低层级生成更简单的图案,扫描速度更快;而较高层级则生成更密集的图案,能够承受更大的损伤。 以下是生成各层级相同数据以便进行比较的方法: :path=/static-assets/qr/content-code-examples/how-to/error-correction-qr-code-compare.cs using IronQr; using IronSoftware.Drawing; string data = "https://ironsoftware.com"; // Low - ~7% recovery, smallest code QrCode qrLow = QrWriter.Write(data, new QrOptions(QrErrorCorrectionLevel.Low)); qrLow.Save().SaveAs("qrLow.png"); // Medium - ~15% recovery, balanced QrCode qrMedium = QrWriter.Write(data, new QrOptions(QrErrorCorrectionLevel.Medium)); qrMedium.Save().SaveAs("qrMedium.png"); // High - ~25% recovery, durable QrCode qrHigh = QrWriter.Write(data, new QrOptions(QrErrorCorrectionLevel.High)); qrHigh.Save().SaveAs("qrHigh.png"); // Highest - ~30% recovery, maximum resilience QrCode qrHighest = QrWriter.Write(data, new QrOptions(QrErrorCorrectionLevel.Highest)); qrHighest.Save().SaveAs("qrHighest.png"); Imports IronQr Imports IronSoftware.Drawing Dim data As String = "https://ironsoftware.com" ' Low - ~7% recovery, smallest code Dim qrLow As QrCode = QrWriter.Write(data, New QrOptions(QrErrorCorrectionLevel.Low)) qrLow.Save().SaveAs("qrLow.png") ' Medium - ~15% recovery, balanced Dim qrMedium As QrCode = QrWriter.Write(data, New QrOptions(QrErrorCorrectionLevel.Medium)) qrMedium.Save().SaveAs("qrMedium.png") ' High - ~25% recovery, durable Dim qrHigh As QrCode = QrWriter.Write(data, New QrOptions(QrErrorCorrectionLevel.High)) qrHigh.Save().SaveAs("qrHigh.png") ' Highest - ~30% recovery, maximum resilience Dim qrHighest As QrCode = QrWriter.Write(data, New QrOptions(QrErrorCorrectionLevel.Highest)) qrHighest.Save().SaveAs("qrHighest.png") $vbLabelText $csharpLabel 请注意更高的纠错级别会增加二维码中的模块数量,从而使图案更加密集。 如果扫描速度是首要考虑因素,建议选择能满足项目耐久性需求的最低配置。 输出 低(~7% 恢复率) 中等难度(约15%的恢复率) 高(~25% 恢复率) 最高(~30% 恢复率) 根据使用场景选择合适的语体 合适的纠错级别取决于二维码的使用场景及其必须满足的要求: 使用案例 级别 为什么 相关指南 数字显示屏和网站 QrErrorCorrectionLevel.Low 屏幕洁净,背光正常,无物理磨损。 保持代码简洁,便于快速浏览。 将二维码生成图片 名片、传单和室内标识 QrErrorCorrectionLevel.Medium 轻微磨损和细微折痕不会影响扫描效果。 建议配合适当的页边距以获得最佳效果。 为二维码添加边距 产品包装和户外海报 QrErrorCorrectionLevel.High 运输过程中,材料会面临雨水、紫外线照射以及粗暴搬运。 放大尺寸以便远距离扫描。 调整二维码大小 仓库标签、工厂车间及工业标签 QrErrorCorrectionLevel.Highest 在严苛的环境中,代码可能被刮花、弄脏或部分遮盖。 最大限度的冗余确保了它们的正常运行。 从图片中读取二维码 如需了解更高级的二维码生成模式,请参阅 C# 二维码生成器教程以及 IronQR 的完整功能集。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 准备开始了吗? Nuget 下载 63,625 | 版本: 2026.4 刚刚发布 免费试用 免费 NuGet 下载 总下载量:63,625 查看许可证 还在滚动吗? 想快速获得证据? PM > Install-Package IronQR 运行示例 观看您的 URL 变成 QR 代码。 免费 NuGet 下载 总下载量:63,625 查看许可证