介紹 隨著行動應用程式利用 QR 碼進行快速資訊檢索的興起,對於高效且易於整合的 QR 碼掃描器,以及用於掃描條碼的 .NET MAUI 條碼掃描器的需求也在增長。.NET MAUI(跨平台 App UI ),是微軟的跨平台框架,提供了一個統一的環境,讓開發者可以在 iOS、Android、macOS 和 Windows 平台上建置應用程式。 在 .NET MAUI 應用程式中掃描 QR Code 時,開發人員需要一個直觀且強大的程式庫來管理該過程。
IronQR 是一個受歡迎的庫,允許開發人員快速、準確且可靠地生成和解碼 QR 碼。 本文將指導您如何將IronQR與.NET MAUI整合,以構建一個可以跨多個平台無縫運行的QR/條碼掃描器。
如何使用 IronQR 實現 QR 條碼掃描 建立 .NET MAUI 專案。
安裝 IronQR NuGet 套件。
設定相機和文件存儲的權限。
實施 QR Code 掃描器。 IronQR for .NET MAUI 行動應用程式介紹 IronQR 是一個強大且易於使用的程式庫,簡化了在 .NET 應用程式中生成和解碼 QR 碼的過程,包括用於 QR 和條碼掃描功能的 .NET MAUI 手機應用程式。 它提供快速且可靠的解決方案,用於在 iOS、Android、macOS 和 Windows 等平台整合 QR 碼和條碼掃描功能,這對於構建跨平台的移動應用程式至關重要。
IronQR for .NET MAUI Mobile Apps 的特色 a) 跨平台支持 :在 MAUI 應用程式中無縫運行於 iOS、Android、macOS 和 Windows 平台。
b) 二維碼掃描 :高效解碼各種類型的二維碼(URL、文字、聯絡資訊等)。 它還支援多種條碼的讀取,使用高效的條碼檢測算法。
c) QR Code Generation :這允許從 URL、文本等數據輕鬆生成 QR 碼。
d) 相機權限處理 :自動處理相機權限請求,簡化掃描流程。
e) 高性能 :快速可靠的 QR 碼掃描和生成,資源使用量最小。
f) 可自訂設定 :提供掃描參數和 QR Code 外觀的自訂選項。
g)簡便整合 :所需的簡單 API 和最低限度的設定即可將 QR Code 掃描和生成添加到您的 .NET MAUI 應用程序中。
h) 錯誤處理 :提供詳細的錯誤信息和故障排除,確保在各種情況下的順利運作。
i) 無需外部依賴 :IronQR 獨立運作,減少了對第三方庫或複雜配置的需求,與 ZXing 條碼掃描器不同。
j) 多格式支援 :支援多種 QR Code 格式,確保與現實世界中使用的各種 QR Code 具有相容性。
先決條件 在進行實施之前,請確保您具備以下先決條件:
已安裝 Visual Studio 2022 或更高版本 。
.NET 6.0 SDK 或更高版本 (因為 .NET MAUI 是基於 .NET 6 及更高版本構建的)。
IronQR NuGet 套件 用於 QR 代碼掃描和條碼檢測。
.NET MAUI 應用程式 (如果您還沒有,您可以在 Visual Studio 中建立一個新的 MAUI 應用程式)。步驟 1:建立一個 .NET MAUI 專案 首先,讓我們創建一個簡單的 .NET MAUI 專案:
開啟 Visual Studio,然後點擊建立新專案 。
選擇.NET MAUI App 範本。
命名專案(例如,MauiQRCodeScanner),選擇位置,然後點擊下一步 。
\
選擇所需的 .NET 版本,然後點擊建立。
第 2 步:安裝 IronQR NuGet 套件 IronQR 是一個第三方函式庫,提供 QR Code 的生成和掃描功能。 若要安裝 IronQR,您需要透過 NuGet 新增它:
在 Visual Studio 中,右鍵點擊您的方案總管中的相依性 。
點選管理 NuGet 套件 。
在瀏覽 標籤中,搜尋 IronQR 並在相關套件上點擊安裝 (通常是 IronQR 或 IronQR.Maui,如果有專門針對 MAUI 提供的版本)。
接受任何許可證並確保安裝該庫。
步驟 3:設定相機和檔案儲存的權限 要對您的應用程式進行 QR 碼掃描,您需要在行動平台(iOS 和 Android)上請求攝影機權限。 以下是您可以如何添加以下許可權。
Android 裝置:在 AndroidManifest.xml 文件中,添加相機權限:
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />```
iOS:在 Info.plist 文件中,添加相機使用說明:
NSCameraUsageDescription 我們需要訪問您的相機以掃描 QR 碼。 ``` ## 步驟 4:實作 QR Code 掃描器 現在,讓我們在 MAUI 條碼掃描器應用程式中為我們的 QR 掃描器創建一個簡單的 UI。我們將使用按鈕來觸發掃描過程,並使用標籤顯示掃描到的 QR Code 文本。 在 XML 命名空間中編輯 MainPage.xaml 檔案。 ```
``` 現在,在 MainPage.xaml.cs 中,您將處理相機權限和 QR Code 掃描邏輯。 以下是實施方法: ```cs using IronQrCode; using Microsoft.Maui.Controls; using Microsoft.Maui.Essentials; namespace MauiQRCodeScanner; public partial class MainPage : ContentPage { public MainPage() { License.LicenseKey = "Your key"; InitializeComponent(); } // OnScanButtonClicked method with object sender as input private async void OnScanButtonClicked(object sender, EventArgs e) { // Check for camera permission for var barcode with clear and valid reason var status = await Permissions.RequestAsync
(); if (status != PermissionStatus.Granted) { await DisplayAlert("Permission Denied", "Cannot scan QR codes without camera permission", "OK"); return; } // Start scanning QR codes try { var images = await FilePicker.Default.PickAsync(new PickOptions { PickerTitle = "Pick image", FileTypes = FilePickerFileType.Images }); var imageSource = images.FullPath.ToString(); // barcodeImage.Source = imageSource; var inputBmp = AnyBitmap.FromFile(imageSource); // Load the asset into QrImageInput QrImageInput imageInput = new QrImageInput(inputBmp); // Create a QR Reader object QrReader reader = new QrReader(); // Read the input and get all embedded QR Codes IEnumerableresults = reader.Read(imageInput); if (results.Any()) { resultLabel.Text = "Scanned Text: " + results.First().Value; // Display the result } else { resultLabel.Text = "No QR code detected"; } } catch (Exception ex) { resultLabel.Text = "Error: " + ex.Message; } } } ``` ### 輸入 QR Code  ## 輸出  選取所需的 QR Code 或從攝影機影像中擷取它。  結果在 UI 中顯示如下。  ### 程式碼說明 權限:我們透過 Permissions.RequestAsync() 請求相機權限。 如果權限被拒絕,將向用戶顯示警示。 IronQR 無線射頻掃描器:IronQrCode.Scanner() 類別用於掃描 QR 碼。 ScanAsync() 方法觸發掃描,結果儲存在 scanResult 中。 掃描的 QR Code 文本顯示在 resultLabel 中。 測試 QR Code 掃描器:現在,您已準備好測試 QR Code 掃描器。 當應用程式運行時,點擊「掃描 QR Code」按鈕將啟動掃描過程。 如果相機前方有有效的QR Code,它將被解碼並顯示在螢幕上。 ## IronQR 授權 (提供試用) IronQR 在行動應用程式代碼中使用許可證密鑰運作。 開發人員可以輕鬆地從[許可證](https://ironsoftware.com/csharp/qr/examples/generate-qr-code/#trial-license)頁面獲得試用許可證。 在使用IronQR程式庫之前,將許可證置於程式碼中的如下位置。 ```cs License.LicenseKey = "Your License"; ``` ## 結論 在本文中,我們介紹了使用 IronQR 在 .NET MAUI 應用程式中建立 QR Code 掃描器的過程。 我們首先設立了一個 .NET MAUI 應用程式,安裝了 IronQR 套件,並實現了用戶介面和掃描邏輯。 IronQR 使得在 .NET MAUI 應用程式中掃描 QR Code 變得非常簡單且高效。 IronQR 程式庫旨在具有跨平台性,確保透過 .NET MAUI 構建的應用程式能在所有目標裝置(無論是智慧型手機、平板電腦或桌面系統)上穩定存取 QR Code 功能。 IronQR 還支援自動相機權限處理等功能,使整合 QR Code 掃描更容易,無需手動管理權限的麻煩。 簡而言之,IronQR for .NET MAUI 使開發人員能夠快速在其移動應用中實現 QR Code 掃描和生成功能,簡化開發並改善所有平台上的用戶體驗。