使用IRONBARCODE C# QR碼閱讀器(初學者逐步教程) Jordi Bardia 更新:2025年6月22日 下載 IronBarcode NuGet 下載 DLL 下載 開始免費試用 LLM副本 LLM副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 在當今數位化驅動的世界中,二維碼(快速回應碼)已經無所不在,無縫連接了實體世界和數位世界。 從行銷到物流,從金融到醫療保健,二維碼在促進高效數據交換方面發揮關鍵作用。 在本文中,我們將深入探討 C# 開發領域,探索IronQR (市場上最好的二維碼庫之一)如何幫助開發人員利用二維碼識別功能,輕鬆解碼數據,並在各個領域進行創新。 Iron Software的IronQR是一款功能強大的.NET二維碼閱讀器庫,表現出色。 IronQR實現的先進機器學習模型使您的應用程式能夠以無與倫比的準確性和效率解碼二維碼,即使在具有挑戰性的場景下也是如此。 如何使用IronQR和 C# 讀取二維碼 使用.NET Windows 窗體應用程式範本建立Visual Studio專案。 從NuGet套件管理器安裝IronQR 。 使用 AForge 函式庫從相機取得二維碼影像。 使用IronQR讀取二維碼。 IronQR是一款出色的 C# 二維碼閱讀器庫,旨在.NET Framework內掃描和產生二維碼影像。 IronQR利用尖端的機器學習技術,將二維碼讀取提升到了前所未有的水平。 無論您是掃描影像、視訊還是即時相機畫面中的二維碼,這款基於機器學習的解決方案都能保證快速可靠的資訊檢索。 這種創新方法不僅簡化了資料擷取流程,而且透過區分真實的二維碼和潛在的威脅來增強安全性。 憑藉其直覺的 API,開發人員可以在幾分鐘內將二維碼功能無縫整合到他們的.NET專案中。 IronQR可與.NET Core (8、7、6、5 和 3.1+)、. .NET Standard (2.0+)和.NET Framework (4.6.2+)無縫整合。 目前的.NET Core版本擴展了對 Linux、Unix 和 macOS 等客戶端作業系統的支持,並與開發行動應用程式相容。 先決條件 Visual Studio:請確保您已安裝 Visual Studio 或任何其他.NET開發環境。 2.相容的攝影機:確保攝影機已連接到您的裝置。 NuGet套件管理器:驗證您是否可以使用NuGet來管理專案中的套件。 步驟 1:使用.NET Windows 窗體應用程式範本建立 Visual Studio 項目 讓我們先建立一個 Windows Forms .NET應用程序,用於從相機視訊串流或影像檔案中讀取二維碼條碼。 開啟 Visual Studio,選擇"建立新專案",然後選擇".NET Windows 窗體應用程式"範本。 點擊"下一步",然後輸入項目名稱。 選擇所需的.NET版本,然後按一下"建立"按鈕。 步驟 2:從NuGet套件管理器安裝IronQR IronQR可以使用NuGet套件管理器或 Visual Studio 套件管理器進行安裝。 以下展示如何使用 Visual Studio 來實作。 步驟 3:使用 AForge 函式庫從相機取得二維碼影像 要使用相機設備掃描二維碼,我們需要安裝 AForge.Video.DirectShow 庫。 這可以透過 Visual Studio 套件管理器完成。 右鍵點選解決方案資源管理器,開啟程式包管理器。 也可以使用NuGet套件控制台安裝此程式庫,如下所示。 點選"安裝"按鈕安裝庫檔案。 步驟 4:使用IronQR讀取二維碼 下一步是在窗體中建立一個 PictureBox 元件,該元件用於掃描連接到機器的相機裝置中的二維碼影像。 這可以透過從工具箱中拖放來完成。 此 PictureBox 用於讀取相機設備中的二維碼資料。 接下來,拖放一個文字方塊來顯示讀取的二維碼。 加入以下程式碼,即可使用IronQR讀取和解碼二維碼。 using AForge.Video.DirectShow; using AForge.Video; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Windows.Forms; using IronQR; namespace ReadQR { public partial class Form1 : Form { // Declare a video capture device private VideoCaptureDevice videoSource; public Form1() { InitializeComponent(); this.Load += Form1_Load; this.FormClosing += Form1_FormClosing; } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { // Stop the video source when the form is closing if (videoSource != null && videoSource.IsRunning) { videoSource.SignalToStop(); videoSource.WaitForStop(); } } private void Form1_Load(object sender, EventArgs e) { // Retrieve video input devices connected to the machine FilterInfoCollection videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); if (videoDevices.Count > 0) { // Use the first available video device videoSource = new VideoCaptureDevice(videoDevices[0].MonikerString); videoSource.NewFrame += VideoSource_NewFrame; videoSource.Start(); } else { MessageBox.Show("No video devices found."); Close(); } } private void VideoSource_NewFrame(object sender, NewFrameEventArgs eventArgs) { // Update the PictureBox with the new frame from the camera pictureBox1.Image = (Bitmap)eventArgs.Frame.Clone(); var image = (Bitmap)eventArgs.Frame.Clone(); // Set the license key for IronQR. Replace "YourKey" with your actual key License.LicenseKey = "YourKey"; // Prepare the image for QR code reading QrImageInput imageInput = new QrImageInput(image); // Create a QR reader object QrReader reader = new QrReader(); // Read QR codes from the image IEnumerable<QrResult> results = reader.Read(imageInput); // Display the first QR code result in a MessageBox if (results.Any()) { MessageBox.Show(results.First().Value); } } } } using AForge.Video.DirectShow; using AForge.Video; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Windows.Forms; using IronQR; namespace ReadQR { public partial class Form1 : Form { // Declare a video capture device private VideoCaptureDevice videoSource; public Form1() { InitializeComponent(); this.Load += Form1_Load; this.FormClosing += Form1_FormClosing; } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { // Stop the video source when the form is closing if (videoSource != null && videoSource.IsRunning) { videoSource.SignalToStop(); videoSource.WaitForStop(); } } private void Form1_Load(object sender, EventArgs e) { // Retrieve video input devices connected to the machine FilterInfoCollection videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); if (videoDevices.Count > 0) { // Use the first available video device videoSource = new VideoCaptureDevice(videoDevices[0].MonikerString); videoSource.NewFrame += VideoSource_NewFrame; videoSource.Start(); } else { MessageBox.Show("No video devices found."); Close(); } } private void VideoSource_NewFrame(object sender, NewFrameEventArgs eventArgs) { // Update the PictureBox with the new frame from the camera pictureBox1.Image = (Bitmap)eventArgs.Frame.Clone(); var image = (Bitmap)eventArgs.Frame.Clone(); // Set the license key for IronQR. Replace "YourKey" with your actual key License.LicenseKey = "YourKey"; // Prepare the image for QR code reading QrImageInput imageInput = new QrImageInput(image); // Create a QR reader object QrReader reader = new QrReader(); // Read QR codes from the image IEnumerable<QrResult> results = reader.Read(imageInput); // Display the first QR code result in a MessageBox if (results.Any()) { MessageBox.Show(results.First().Value); } } } } $vbLabelText $csharpLabel 輸入影像檔案 二維碼中編碼的文字是:我愛IronQR 輸出 範例程式碼解釋 我們在 Windows Forms 中註冊了兩個事件:Form1_Load 和 Form1_FormClosing。 我們也向 AForge.Video.DirectShow 庫中的 VideoSource_NewFrame 註冊了 videoSource 實例。 我們讀取即時視訊串流中的二維碼。 當偵測到二維碼時,我們會顯示一個包含解碼文字的訊息方塊。 授權許可(提供免費試用) IronQR需要許可證密鑰。 您可以從此網站取得試用金鑰。 此密鑰需要放置在 appsettings.json 中。 { "IronQr.LicenseKey": "MYLICENSE.KEY.TRIAL" } 請提供您的電子郵件地址以取得試用許可證,提交後,金鑰將透過電子郵件發送給您。 結論 總之,二維碼已經超越了其起源,成為我們數位生態系統中不可或缺的一部分。 借助IronQR ,C# 開發人員可以利用二維碼識別的強大功能,輕鬆解碼各種類型的二維碼中的數據,並在各個領域進行創新。 隨著二維碼不斷發展並融入新技術,它們在促進無縫資料交換和提升使用者體驗方面的重要性只會越來越大。 運用IronQR擁抱二維碼的潛力,開啟 C# 開發創新與高效率的旅程。 常見問題解答 如何設置 C# 專案以讀取二維碼? 要設置 C# 專案來讀取二維碼,首先在 Visual Studio 中建立一個新的 Windows Forms 應用程式。從 NuGet 套件管理器安裝 IronQR 庫,並確保擁有 AForge.Video.DirectShow 庫用於從相機捕獲視頻影像。 使用 IronQR 讀取二維碼有什麼好處? IronQR 通過運用先進的機器學習模型提供強大的二維碼讀取功能。它確保即使在嚴苛環境下也能準確解碼,並支持多個 .NET Framework和作業系統。 如何在 C# 應用程序中使用 IronQR 解碼二維碼? 要在 C# 應用程式中使用 IronQR 解碼二維碼,需使用 AForge 從相機影像擷取圖片,然後用 IronQR 庫處理並解碼圖片中的二維碼。 IronQR 能否從即時視頻串流解碼二維碼? 是的,IronQR 可以集成 AForge.Video.DirectShow 庫擷取幀數,從即時視頻串流解碼二維碼。 建立 C# 二維碼讀取器必備哪些庫? 建立 C# 二維碼讀取器的必要庫包括 IronQR 用於二維碼解碼,和 AForge.Video.DirectShow 用於擷取相機視頻影像。 IronQR 如何確保二維碼解碼過程中的資料完整性? IronQR 透過準確區分真實和潛在威脅二維碼來加強安全性並確保資料完整性,由此維持解碼資訊的可靠性。 IronQR 能否從圖片中掃描二維碼? 是的,IronQR 不僅能從即時影像中掃描二維碼,還能從靜態圖片中掃描,為各種應用需求提供靈活性。 如何獲得 IronQR 的試用許可證? 可以從 Iron Software 網站獲得 IronQR 的試用許可證,使您能將試用金鑰放置於應用程式的 appsettings.json 文件中以測試其功能。 PictureBox 元件在二維碼讀取應用程式中扮演什麼角色? 在二維碼讀取應用程式中,PictureBox 元件展示從相機來的即時視頻影像,使 IronQR 能夠擷取並解碼來自即時視頻幀數的二維碼。 如何解決 C# 中的二維碼解碼問題? 若遇到二維碼解碼問題,請確保 IronQR 和 AForge 庫已正確安裝,檢查相機影像是否已妥善集成,並驗證應用程式是否正確擷取和處理視頻幀。 Jordi Bardia 立即與工程團隊聊天 軟體工程師 Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担產品测测试,產品開發和研究的责任時,Jordi 為持续的產品改進增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。 相關文章 發表日期 2026年3月8日 創建.NET應用程式的條碼專業SDK 全面的.NET條碼SDK,用於QR Codes、GS1、Data Matrix等。支持.NET 6-10、Core和Framework。 閱讀更多 發表日期 2026年3月8日 構建Barcode SDK C#:通過一個程式庫生成、讀取和掃描條碼 在C#中使用IronBarcode構建條碼SDK功能。生成條碼圖像,從文件掃描多個條碼,並使用一個.NET程式庫讀取QR Code。包含範例代碼。 閱讀更多 更新2026年3月1日 VB .NET條碼字體:如何在沒有字體依賴的情況下生成和列印條碼 在VB.NET中以現代方式處理條碼字體。使用IronBarcode生成Code 39和Code 128條碼圖像-無字體依賴。提供免費試用。 閱讀更多 如何在ASP.NET中使用C#生成條碼
發表日期 2026年3月8日 創建.NET應用程式的條碼專業SDK 全面的.NET條碼SDK,用於QR Codes、GS1、Data Matrix等。支持.NET 6-10、Core和Framework。 閱讀更多
發表日期 2026年3月8日 構建Barcode SDK C#:通過一個程式庫生成、讀取和掃描條碼 在C#中使用IronBarcode構建條碼SDK功能。生成條碼圖像,從文件掃描多個條碼,並使用一個.NET程式庫讀取QR Code。包含範例代碼。 閱讀更多
更新2026年3月1日 VB .NET條碼字體:如何在沒有字體依賴的情況下生成和列印條碼 在VB.NET中以現代方式處理條碼字體。使用IronBarcode生成Code 39和Code 128條碼圖像-無字體依賴。提供免費試用。 閱讀更多