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 für die schnelle Informationsabfrage nutzen, wächst der Bedarf an einem effizienten und einfach zu integrierenden QR-Code-Scanner sowie einem .NET MAUI Barcode-Scanner, um Barcodes zu scannen. .NET MAUI (Multi-platform App UI), Microsofts plattformübergreifendes Framework, bietet eine einheitliche Umgebung zum Erstellen 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.
IronQR ist eine beliebte Bibliothek, die es Entwicklern ermöglicht, QR-Codes schnell, genau und zuverlässig zu erzeugen und zu decodieren. 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-Scanning: Dekodiert 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) Kamerazugriffsgenehmigung: Handhabt automatisch Anfragen für Kameraberechtigungen und vereinfacht so den Scanprozess.
e) Hohe Leistung: Schnelles und zuverlässiges QR-Code-Scannen und -Erzeugen mit minimalem Ressourcenverbrauch.
f) Anpassbare Einstellungen: Bietet Anpassungsmöglichkeiten für Scanparameter und das Erscheinungsbild von QR-Codes.
g) Einfache Integration: Einfache API und minimaler Einrichtungsaufwand erforderlich, um QR-Code-Scanning und -Generierung zu Ihrer .NET MAUI-App hinzuzufügen.
h) Fehlerbehandlung: Bietet detaillierte Fehlermeldungen und Problemlösungen, um reibungslose Funktionalität in verschiedenen Szenarien sicherzustellen.
i) Keine externen Abhängigkeiten: IronQR arbeitet unabhängig, wodurch die Notwendigkeit für Drittanbieter-Bibliotheken oder komplexe Konfigurationen reduziert wird, im Gegensatz zum ZXing Barcode-Scanner.
j) Multi-Format-Unterstützung: Unterstützt mehrere QR-Code-Formate und gewährleistet so die Kompatibilität mit einer breiten Palette 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 später installiert.
.NET 6.0 SDK oder höher (da .NET MAUI auf .NET 6 und späteren Versionen basiert).
IronQR NuGet-Paket für QR-Code-Scanning und Barcode-Erkennung.
.NET MAUI-App (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 Neues Projekt erstellen.
Wählen Sie die .NET MAUI App-Vorlage aus.
Bennennen Sie das Projekt (z. B. MauiQRCodeScanner), wählen Sie einen Speicherort 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 Abhängigkeiten in Ihrem Projektmappen-Explorer.
Klicken Sie auf NuGet-Pakete verwalten.
Im Durchsuchen-Tab 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
Für Ihre Anwendung, um QR-Codes zu scannen, müssen Sie auf mobilen Plattformen (iOS und Android) Kameraberechtigungen anfordern. 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 an, indem wir Permissions.RequestAsync<Permissions.Camera>() verwenden. Wenn die Berechtigung verweigert wird, wird dem Benutzer eine Warnung angezeigt.
IronQR Scanner: Die IronQrCode.Scanner()-Klasse wird verwendet, um QR-Codes zu scannen. Die ScanAsync()-Methode löst den Scan 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 sich ganz einfach eine Testlizenz von der Lizenz-Seite holen. 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.
Jordi beherrscht vor allem Python, C# und C++. Wenn er seine Fähigkeiten bei Iron Software nicht einsetzt, programmiert er Spiele. Durch seine Mitverantwortung für Produkttests, Produktentwicklung und Forschung trägt Jordi wesentlich zur kontinuierlichen Produktverbesserung bei. Die vielseitigen Erfahrungen, die er sammelt, bieten ihm immer wieder neue Herausforderungen, und er sagt, dass dies einer seiner Lieblingsaspekte bei Iron Software ist. Jordi wuchs in Miami, Florida, auf und studierte Informatik und Statistik an der University of Florida.