IronQR 操作指南 使用不同掃描模式讀取二維碼 如何使用不同的掃描模式讀取二維碼 Ahmad Sohail 更新:2025年12月11日 下載 IronQR NuGet 下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 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 到 2025 年,隨著越來越多的產品走向數位化和始終在線訪問,讀取二維碼將成為一項常規任務。 將必要資料儲存在緊湊的唯讀映像中已成為標準做法,開發人員需要有效的方法在不同的環境中提取這些資訊。 IronQR 為二維碼提供 3 種讀取選項,每個選項都針對特定的使用情境而設計。 本操作指南將透過清晰的範例解釋這三種方法。 如果您還沒有看過,請查看先前關於從圖像中讀取二維碼或編寫自己的二維碼的指南。 ## 如何使用不同的掃描模式讀取二維碼 下載 C# 庫,即可使用進階掃描選項讀取二維碼 載入目標圖片文件 初始化QrImageInput ,傳入影像和所需的QrScanMode參數。 實例化QrReader類別並將輸入物件傳遞給Read方法。 檢索結果以存取解碼後的Value文本,或遍歷Points陣列以取得座標資料。 了解二維碼掃描模式 IronQR 透過QrScanMode枚舉提供三種強大的掃描模式: -自動模式( QrScanMode.Auto ):結合機器學習偵測和基本掃描演算法,以實現最高的準確性和可靠性。 -僅基本掃描模式( QrScanMode.OnlyBasicScan ):當二維碼清晰可見時,使用傳統的影像處理技術進行快速可靠的掃描。 -偵測模型模式( QrScanMode.OnlyDetectionModel ):利用機器學習技術偵測二維碼位置,非常適合擷取座標數據 讓我們詳細了解每種掃描方法。 僅基本掃描模式 只有基本掃描模式使用傳統的影像處理演算法,而沒有使用機器學習。 當二維碼清晰可見且位置恰當時,這種方法快速且有效率; 但是,如果三個角落上的方塊清晰可見,即使二維碼損壞,它仍然可以正常工作。 :path=/static-assets/qr/content-code-examples/how-to/read-qr-codes-with-scan-modes-basic.cs using System.Linq; using IronQr; using IronQr.Enum; using IronSoftware.Drawing; using System.IO; // Load the image var bmp = AnyBitmap.FromFile("damaged-qr.png"); // Create scan input using Only Basic Scan mode var input = new QrImageInput(bmp, QrScanMode.OnlyBasicScan); // Get the result var result = new QrReader().Read(input).FirstOrDefault(); // Save the output to a text file File.WriteAllText("basic-scan-output.txt", result.Value); Imports System.Linq Imports IronQr Imports IronQr.Enum Imports IronSoftware.Drawing Imports System.IO ' Load the image Dim bmp = AnyBitmap.FromFile("damaged-qr.png") ' Create scan input using Only Basic Scan mode Dim input = New QrImageInput(bmp, QrScanMode.OnlyBasicScan) ' Get the result Dim result = (New QrReader()).Read(input).FirstOrDefault() ' Save the output to a text file File.WriteAllText("basic-scan-output.txt", result.Value) $vbLabelText $csharpLabel 掃描輸入 已儲存的文字文件 自動掃描模式 自動掃描模式是預設模式(適用於QrScanMode ),也是功能最全面的選項。 它會自動將機器學習偵測與傳統掃描演算法結合,從而在各種影像條件下提供最佳結果。 此範例展示如何載入影像並啟動Auto模式。 然後,它掃描圖像,並將找到的每個二維碼收集到一個列表中。最後,它遍歷results集合,並將每個值對應的文字列印到控制台(在本例中,只有 URL)。 :path=/static-assets/qr/content-code-examples/how-to/read-qr-codes-with-scan-modes-auto.cs using System; using IronQr; using IronQr.Enum; using IronSoftware.Drawing; // Load the image file var bmp = AnyBitmap.FromFile("cup.png"); // Create scan input using Auto Scan mode var input = new QrImageInput(bmp, QrScanMode.Auto); // Scan and read all QR codes var results = new QrReader().Read(input); // Initialize a counter to track the number of QR codes int count = 1; // Loop through each discovered QR code foreach (var result in results) { Console.WriteLine($"QR {count}: {result.Value}"); count++; } Imports System Imports IronQr Imports IronQr.Enum Imports IronSoftware.Drawing ' Load the image file Dim bmp = AnyBitmap.FromFile("cup.png") ' Create scan input using Auto Scan mode Dim input = New QrImageInput(bmp, QrScanMode.Auto) ' Scan and read all QR codes Dim results = New QrReader().Read(input) ' Initialize a counter to track the number of QR codes Dim count As Integer = 1 ' Loop through each discovered QR code For Each result In results Console.WriteLine($"QR {count}: {result.Value}") count += 1 Next $vbLabelText $csharpLabel 掃描輸入 控制台顯示 透過 IronQR 掃描照片後,咖啡館網站的 URL 會被記錄下來。 檢測模型模式 偵測模型模式專門利用機器學習技術來偵測影像中的二維碼位置。 這項特性使其在空間分析和電腦視覺應用上具有不可估量的價值。 它所使用的座標係原點位於(0, 0) 。 一般而言,QR 掃描器使用依賴三個查找圖案的標準解碼演算法,該模型捕獲 ID 的所有四個頂點。 result物件包含一個Points集合,您可以透過遍歷該集合來檢索位置資料。 程式碼重用了上一個範例中的杯子照片,以演示如何偵測影像中的位置值。 此函數傳回的座標以嚴格的"之字形"順序儲存:左上、右上、左下,最後是右下。 :path=/static-assets/qr/content-code-examples/how-to/read-qr-codes-with-scan-modes-detection-model.cs using System; using System.Linq; using IronQr; using IronQr.Enum; using IronSoftware.Drawing; // Load the image var bmp = AnyBitmap.FromFile("cup.png"); // Create scan input using Detection Model mode var input = new QrImageInput(bmp, QrScanMode.OnlyDetectionModel); // Read QR code var result = new QrReader().Read(input).FirstOrDefault(); // Print position data if (result != null) { if (result.Points != null) { foreach (var point in result.Points) { Console.WriteLine($"Point: X={point.X}, Y={point.Y}"); } } } Imports System Imports System.Linq Imports IronQr Imports IronQr.Enum Imports IronSoftware.Drawing ' Load the image Dim bmp = AnyBitmap.FromFile("cup.png") ' Create scan input using Detection Model mode Dim input = New QrImageInput(bmp, QrScanMode.OnlyDetectionModel) ' Read QR code Dim result = (New QrReader()).Read(input).FirstOrDefault() ' Print position data If result IsNot Nothing Then If result.Points IsNot Nothing Then For Each point In result.Points Console.WriteLine($"Point: X={point.X}, Y={point.Y}") Next End If End If $vbLabelText $csharpLabel 帶標籤的杯子圖片 標籤的控制台 掃描方法比較 功能( QRScanMode ) 基本掃描( OnlyBasicScan掃描) 自動掃描( Auto ) 檢測模型( OnlyDetectionModel檢測模型) 輸出 解碼後的文字(值) 解碼後的文字(值) 座標(點) 演算法 僅限傳統方式 混合型(機器學習+傳統) 僅限機器學習 重點 速度 可讀性/檢索 定位/電腦視覺 結論 IronQR的三種掃描模式可靈活應對任何二維碼讀取情境: -自動掃描:適用於一般用途,具有最高的準確性和可靠性 -基本掃描:速度快、效率高,影像品質高。 -偵測模型:空間應用的位置感知 透過了解每種方法的優勢,您可以根據自身需求最佳化二維碼讀取實作。 無論您需要全面的資料擷取、閃電般的處理速度或精確的位置偵測,IronQR 都能滿足您的需求。 有關更多範例和詳細的 API 信息,請訪問IronQR 文件或瀏覽GitHub 上的程式碼範例。 常見問題解答 讀取二維碼有哪些不同的掃描模式? IronQR 提供自動、手動和大量掃描等多種掃描模式,可在不同場景下有效讀取二維碼。 如何在C#專案中實現二維碼掃描? 您可以透過整合 IronQR 庫在 C# 專案中實現二維碼掃描,該程式庫提供了易於使用的讀取二維碼的方法,並支援不同的掃描模式。 使用 IronQR 進行二維碼掃描有哪些好處? IronQR 具有高精度、快速處理能力,並支援不同的掃描模式,使其成為 C# 專案中二維碼掃描的多功能選擇。 IronQR 是否可以同時讀取多個二維碼? 是的,IronQR 支援批次掃描模式,可同時讀取多個二維碼,進而提高效率。 IronQR是否支援掃描來自不同來源的二維碼? IronQR 可以掃描來自各種來源的二維碼,包括影像、PDF 和即時攝影機畫面,為開發人員提供了靈活性。 IronQR 能否處理不同方向的二維碼? 是的,IronQR 的設計旨在準確讀取任何方向的二維碼,確保可靠的掃描結果。 IronQR的自動掃描模式是如何運作的? IronQR 的自動掃描模式可以智慧地偵測和讀取二維碼,無需手動輸入,從而簡化掃描過程。 使用 IronQR 進行二維碼掃描需要哪些程式設計技能? 具備 C# 程式設計的基礎知識即可使用 IronQR 進行二維碼掃描,因為該程式庫提供了簡單直接的整合和使用方式。 IronQR是否有可供測試的試用版? 是的,IronQR 提供試用版,讓開發者在購買前測試其功能和掃描模式。 我可以在哪裡下載IronQR庫? 您可以從 Iron Software 網站下載 IronQR 庫,您也可以在該網站上找到文件和支援資源。 Ahmad Sohail 立即與工程團隊聊天 全堆疊開發人員 Ahmad 是一名全堆疊開發人員,在 C#、Python 和 Web 技術方面有深厚的基礎。 在加入 Iron Software 團隊之前,Ahmad 從事自動化專案和 API 整合工作,專注於改善效能和開發人員體驗。在空閒時間,他喜歡嘗試 UI/UX 想法,為開源工具貢獻心力,偶爾也會鑽研技術撰寫和文件,讓複雜的主題更容易理解。 準備好開始了嗎? Nuget 下載 58,270 | 版本: 2026.2 剛剛發布 免費 NuGet 下載 總下載量:58,270 查看許可證