IronQR 操作指南 QR 碼錯誤更正 如何在 QR code 生成時設定錯誤校正等級 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 掌握效能主導權。 調整錯誤修正設定,以建立更快、更耐用的 QR 碼,使其即使受損仍能可靠地被掃描。 錯誤修正正是區分一個失效的 QR 碼與一個持續運作的 QR 碼的關鍵。 當印刷標籤被刮傷、貼紙剝落,或海報在陽光下褪色時,錯誤校正功能將決定條碼是否仍能被掃描。 IronQR 讓開發人員能精確選擇 QR 碼的耐用程度,從針對清晰數位顯示螢幕優化的輕量級碼,到專為倉庫及工廠環境設計的重型碼皆可。 本指南將示範如何使用 IronQR程式庫設定錯誤修正等級,針對任何使用情境在資料密度與損壞容忍度之間取得平衡。 初次接觸 QR 碼生成功能的開發者,建議先參閱《將 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# 程式庫,以產生具備錯誤校正功能的 QR 碼 建立一個具有指定 `ErrorCorrectionLevel` 的 `QrOptions` 物件 請使用 `QrWriter.Write()` 並搭配上述選項來產生 QR 碼 使用 `Save()` 將 QR 碼儲存為位圖 使用 `SaveAs()` 將位圖匯出為圖像檔案 理解錯誤修正等級 QR 碼採用里德-所羅門(Reed-Solomon)錯誤校正技術,即使部分受損或被遮蔽,仍能保持可掃描性。 IronQR 中的 QrErrorCorrectionLevel 枚舉提供四種等級,每種等級皆以犧牲資料容量為代價,換取更高的抗干擾能力: 等級 復原能力 最適合 QrErrorCorrectionLevel.Low ~7% 損耗 數位螢幕、受控環境 QrErrorCorrectionLevel.Medium ~15% 損耗 通用用途,中等耐用度 QrErrorCorrectionLevel.High ~25% 損耗 印刷品、戶外標誌 QrErrorCorrectionLevel.Highest ~30% 損壞 工業標籤、嚴苛環境 較高的錯誤校正能力會增加更多冗餘模組,從而提高 QR 碼的視覺密度。 這也會影響生成的圖片大小,因此開發人員可能需要據此調整尺寸。 符合耐久性要求的最低層級,能讓程式碼保持精簡且易於掃描。 設定錯誤修正等級 若要設定錯誤修正等級,請將所需的 QrErrorCorrectionLevel 值傳遞給 QrOptions 建構函式。 接著在生成 QR 碼時,將這些選項傳遞給 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 輸出 錯誤修正等級比較 每個等級都會產生視覺上不同的 QR 碼。 較低層級會產生更簡單的圖案,掃描速度較快;而較高層級則會形成更密集的圖案,能承受更大的損傷。 以下是各層級生成相同資料以供比較的方法: :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 請注意較高的錯誤校正等級會增加 QR 碼中的模組數量,使圖案更為密集。 若掃描速度是首要考量,建議選用能滿足專案耐用性需求的最低等級。 輸出 低(約 7% 恢復率) 中等難度(約 15% 恢復率) 高(~25% 恢復率) 最高準確度(約 30% 恢復率) 根據使用情境選擇適當的技術層級 適當的錯誤修正程度取決於 QR 碼的應用場景及其必須滿足的需求: 使用案例 等級 為何 相關指南 數位顯示器與網站 QrErrorCorrectionLevel.Low 螢幕清晰,背光可調,無物理磨損。 保持程式碼簡潔且易於快速瀏覽。 將 QR 碼轉為圖片 名片、傳單及室內標示牌 QrErrorCorrectionLevel.Medium 輕微的磨損與摺痕不會影響掃描效果。 建議搭配適當的邊距以獲得最佳效果。 為 QR 碼添加邊距 產品包裝與戶外海報 QrErrorCorrectionLevel.High 材料在運輸過程中會面臨雨水、紫外線照射及粗暴搬運。 放大尺寸以利遠距掃描。 調整 QR 碼大小 倉儲標籤、工廠車間及工業標籤 QrErrorCorrectionLevel.Highest 在嚴苛環境中,代碼可能被刮傷、沾染污漬或部分遮蓋。 最大限度的冗餘確保其正常運作。 從圖片中讀取 QR 碼 若需更進階的 QR 碼生成模式,請參閱 C# QR 碼生成器教學指南,並探索 IronQR 的完整功能集。 Curtis Chau 立即與工程團隊聊天 技術作家 Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。 準備好開始了嗎? Nuget 下載 63,625 | 版本: 2026.4 剛剛發布 開始免費試用 免費 NuGet 下載 總下載量:63,625 查看許可證 還在捲動嗎? 想要快速證明? PM > Install-Package IronQR 執行範例 觀看您的 URL 變成 QR code。 免費 NuGet 下載 總下載量:63,625 查看許可證