using IronQr;
using IronSoftware.Drawing;
// Create a QR Code object
QrCode myQr = QrWriter.Write("hello world");
// Save QR Code as a Bitmap
AnyBitmap qrImage = myQr.Save();
// Save QR Code Bitmap as File
qrImage.SaveAs("qr.png");
Mit dem Aufstieg von mobilen Anwendungen, die QR-Codes zur schnellen Informationsabfrage nutzen, wächst der Bedarf an einem effizienten und einfach zu integrierenden QR-Code-Scanner sowie einem .NET MAUI Barcode-Scanner zum Scannen von Barcodes..NETMAUI(Multiplattform-App UI), Microsofts plattformübergreifendes Framework, bietet eine einheitliche Umgebung für den Aufbau von Anwendungen auf iOS, Android, macOS und Windows. Beim Scannen von QR-Codes in einer .NET MAUI-Anwendung benötigen Entwickler eine intuitive und leistungsstarke Bibliothek, um den Prozess zu verwalten.
IronQRist eine beliebte Bibliothek, die es Entwicklern ermöglicht, QR-Codes schnell, präzise und zuverlässig zu erstellen und zu dekodieren. Dieser Artikel führt Sie durch die Integration von IronQR mit .NET MAUI, um einen QR-/Barcode-Scanner zu entwickeln, der nahtlos über mehrere Plattformen hinweg arbeitet.
So implementieren Sie das Scannen von QR-Barcodes mit IronQR.
Erstelle .NET MAUI-Projekt.
Installieren Sie das IronQR-NuGet-Paket.
Richten Sie Berechtigungen für Kamera und Dateispeicherung ein.
Implementierung des QR-Code-Scanners.
Einführung in IronQR für .NET MAUI Mobile Apps
IronQR ist eine leistungsstarke, benutzerfreundliche Bibliothek, die das Erzeugen und Dekodieren von QR-Codes in .NET-Anwendungen vereinfacht, einschließlich .NET MAUI Mobile-Apps für QR- und Barcode-Scanfunktionalität. Es bietet schnelle und zuverlässige Lösungen zur Integration von QR-Code- und Barcode-Scan-Funktionalität über Plattformen wie iOS, Android, macOS und Windows hinweg, was entscheidend für den Aufbau plattformübergreifender mobiler Apps ist.
Funktionen von IronQR für .NET MAUI Mobile Apps
a. Plattformübergreifende Unterstützung: Funktioniert nahtlos auf iOS-, Android-, macOS- und Windows-Plattformen innerhalb von MAUI-Apps.
b. QR-Code-Scannen: Entschlüsselt effizient verschiedene Arten von QR-Codes(URLs, Text, Kontaktinformationen, usw.). Es unterstützt zudem das Lesen mehrerer Barcodes mit effizienten Barcode-Erkennungsalgorithmen.
c. QR-Code-Generierung: Dies ermöglicht die einfache Erstellung von QR-Codes aus Daten wie URLs, Texten und mehr.
d. Kamera-Berechtigungshandhabung: Verarbeitet automatisch Kamera-Berechtigungsanfragen und vereinfacht den Scanvorgang.
e. Hohe Leistung: Schnelles und zuverlässiges Scannen und Erstellen von QR-Codes bei minimaler Ressourcennutzung.
f. Anpassbare Einstellungen**: Bietet Anpassungsoptionen für Scan-Parameter und das Erscheinungsbild von QR-Codes.
g. Einfache Integration**: Einfache API und minimaler Einrichtungsaufwand erforderlich, um QR-Code-Scanning und -Erzeugung zu Ihrer .NET MAUI-App hinzuzufügen.
h. Fehlerbehandlung: Bietet detaillierte Fehlermeldungen und Problemlösungen, um eine reibungslose Funktionalität in verschiedenen Szenarien sicherzustellen.
i. Keine externen Abhängigkeiten**: IronQR arbeitet eigenständig und reduziert die Notwendigkeit für Drittanbieter-Bibliotheken oder komplexe Konfigurationen, im Gegensatz zum ZXing Barcode-Scanner.
j. Unterstützung mehrerer Formate: Unterstützt mehrere QR-Code-Formate und gewährleistet so die Kompatibilität mit einer Vielzahl von QR-Codes, die in der realen Welt verwendet werden.
Voraussetzungen
Bevor Sie mit der Implementierung fortfahren, stellen Sie sicher, dass Sie die folgenden Voraussetzungen haben:
Visual Studio 2022 oder höher installiert.
.NET 6.0 SDK oder später(da .NET MAUI auf .NET 6 und späteren Versionen basiert).
IronQR NuGet-Paket für QR-Code-Scannen und Barcode-Erkennung.
.NET MAUI-Anwendung(Sie können eine neue MAUI-App in Visual Studio erstellen, wenn Sie noch keine haben.).
Schritt 1: Erstellen Sie ein .NET MAUI-Projekt
Um zu beginnen, erstellen wir ein einfaches .NET MAUI-Projekt:
Öffnen Sie Visual Studio und klicken Sie auf Create a new project.
Wählen Sie die Vorlage für .NET MAUI App.
Benenne das Projekt(z. B. MauiQRCodeScanner), wählen Sie einen Standort aus und klicken Sie auf Weiter.
Wählen Sie die erforderliche .NET-Version aus und klicken Sie auf Erstellen.
Schritt 2: Installieren Sie das IronQR NuGet-Paket
IronQR ist eine Drittanbieter-Bibliothek, die Funktionen zur QR-Code-Erstellung und -Erkennung bereitstellt. Um IronQR zu installieren, müssen Sie es über NuGet hinzufügen:
In Visual Studio, klicken Sie mit der rechten Maustaste auf die Dependencies im Solution Explorer.
Klicken Sie auf NuGet-Pakete verwalten.
Wechseln Sie in die Registerkarte Durchsuchen, suchen Sie nach IronQR und klicken Sie auf Installieren beim entsprechenden Paket.(normalerweise IronQR oder IronQR.Maui, wenn speziell für MAUI verfügbar).
Akzeptieren Sie alle Lizenzen und stellen Sie sicher, dass die Bibliothek installiert wird.
Schritt 3: Berechtigungen für Kamera und Dateispeicherung einrichten
Um QR-Codes mit Ihrer Anwendung zu scannen, müssen Sie auf mobilen Plattformen die Kameraberechtigungen anfordern.(iOS und Android). So fügen Sie die folgenden Berechtigungen hinzu.
Android-Gerät: Fügen Sie in der Datei AndroidManifest.xml die Kameraberechtigung hinzu:
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
iOS: Fügen Sie in der Datei Info.plist die Beschreibung der Kameranutzung hinzu:
<key>NSCameraUsageDescription</key>
<string>Wir benötigen den Zugriff auf Ihre Kamera, um QR-Codes zu scannen.</string>
Schritt 4: Implementierung des QR-Code-Scanners
Nun, lassen Sie uns eine einfache Benutzeroberfläche für unseren QR-Scanner in der MAUI Barcode-Scanner-App erstellen. Wir werden eine Schaltfläche verwenden, um den Scanvorgang auszulösen, und ein Label, um den gescannten QR-Code-Text anzuzeigen.
Bearbeiten Sie die Datei MainPage.xaml im XML-Namespace.
Nun, in der MainPage.xaml.cs, werden Sie die Kameraberechtigungen und die QR-Code-Scanlogik behandeln. So implementieren Sie es:
```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<Permissions.Camera>();
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
IEnumerable<QrResult> results = 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 eingeben
Ausgabe
Wählen Sie den benötigten QR-Code aus oder erfassen Sie ihn aus dem Kamera-Feed.
Das Ergebnis wird in der Benutzeroberfläche wie folgt angezeigt.
Code Erläuterung
Berechtigungen: Wir fordern Kameraberechtigungen mit Permissions.RequestAsyncan.(). Wenn die Berechtigung verweigert wird, wird dem Benutzer eine Warnung angezeigt.
IronQR-Scanner: Der IronQrCode.Scanner()Klasse wird verwendet, um QR-Codes zu scannen. Der ScanAsync()Die Methode löst das Scannen aus, und das Ergebnis wird in scanResult gespeichert. Der Text des gescannten QR-Codes wird im resultLabel angezeigt.
Testen des QR-Code-Scanners: Jetzt sind Sie bereit, den QR-Code-Scanner zu testen. Wenn die Anwendung läuft, wird durch Klicken auf die Schaltfläche „QR-Code scannen“ der Scanvorgang gestartet. Wenn ein gültiger QR-Code vor der Kamera ist, wird er dekodiert und auf dem Bildschirm angezeigt.
IronQR-Lizenz (Testversion verfügbar)
IronQR funktioniert mit einem Lizenzschlüssel im Code der mobilen App. Entwickler können einfach eine Testlizenz von derlizenz seite. Setzen Sie die Lizenz gemäß dem folgenden Beispiel irgendwo im Code, bevor Sie die IronQR-Bibliothek verwenden.
License.LicenseKey = "Your License";
License.LicenseKey = "Your License";
License.LicenseKey = "Your License"
$vbLabelText $csharpLabel
Schlussfolgerung
In diesem Artikel haben wir den Prozess zum Erstellen eines QR-Code-Scanners in einer .NET MAUI-Anwendung mit IronQR durchlaufen. Wir begannen damit, eine .NET MAUI-App einzurichten, installierten das IronQR-Paket und implementierten die Benutzeroberfläche sowie die Scannlogik. IronQR macht das Scannen von QR-Codes in einer .NET MAUI-App unglaublich einfach und effektiv.
Die IronQR-Bibliothek ist so konzipiert, dass sie plattformübergreifend funktioniert und sicherstellt, dass Apps, die mit .NET MAUI entwickelt wurden, auf die QR-Code-Funktionalität konsistent auf allen Zielgeräten zugreifen können, sei es auf Smartphones, Tablets oder Desktop-Systemen. IronQR unterstützt auch Funktionen wie die automatische Verwaltung von Kameraberechtigungen, was die Integration der QR-Code-Erfassung erleichtert, ohne den Aufwand, Berechtigungen manuell zu verwalten.
Kurz gesagt, IronQR for .NET MAUI ermöglicht es Entwicklern, QR-Code-Scan- und Generierungsfunktionen schnell in ihre mobilen Apps zu integrieren, wodurch die Entwicklung vereinfacht und die Benutzererfahrung über alle Plattformen hinweg verbessert wird.
Regan schloss sein Studium an der University of Reading mit einem BA in Elektrotechnik ab. Bevor er zu Iron Software kam, konzentrierte er sich in seinen früheren Jobs auf einzelne Aufgaben. Was ihm bei Iron Software am meisten Spaß macht, ist das Spektrum der Aufgaben, die er übernehmen kann, sei es im Vertrieb, im technischen Support, in der Produktentwicklung oder im Marketing. Es macht ihm Spaß, die Art und Weise zu verstehen, wie Entwickler die Bibliothek von Iron Software nutzen, und dieses Wissen zu nutzen, um die Dokumentation und die Produkte kontinuierlich zu verbessern.