Scannen von Live-Videostreams mit IronQR
Sie möchten QR-Codes in Echtzeit von der Kamera eines Telefons lesen, aber IronQR hat keine integrierte Methode für das Scannen von Live-Videostreams. Der Workaround besteht darin, dem Leser einzelne Frames von der Kamera zuzuführen, einen nach dem anderen.
Lösung
IronQR konzentriert sich auf hochpräzise statische QR-Code-Erkennung. Die Echtzeit-Video-Decodierung ist das Gebiet von Computer-Vision-Frameworks wie OpenCV oder den plattform-native Kamera-SDKs. Um den Effekt eines Live-Scans zu erzielen, erfassen Sie die Frames selbst und decodieren Sie jedes als Einzelbild.
1. Greifen Sie auf den Kamerafeed des Geräts zu
Öffnen Sie die Kamera über eine plattformnative API: Xamarin.Essentials, MAUI-Kamera oder die Android/iOS-SDKs direkt.
2. Erfassen Sie kontinuierlich Frames
Ziehen Sie in kurzen Intervallen, zum Beispiel alle 100 ms, ein Frame und konvertieren Sie es in ein Bitmap.
3. Übergeben Sie jedes Bild an den Leser
Wickeln Sie das aufgenommene Bitmap in einen QrImageInput und überreichen Sie es an den QrReader.Read().
// Load the asset into QrImageInput
QrImageInput imageInput = new QrImageInput(capturedBitmap);
// Create a QR Reader object
QrReader reader = new QrReader();
// Read the Input an get all embedded QR Codes
IEnumerable<QrResult> results = reader.Read(imageInput);
// Load the asset into QrImageInput
QrImageInput imageInput = new QrImageInput(capturedBitmap);
// Create a QR Reader object
QrReader reader = new QrReader();
// Read the Input an get all embedded QR Codes
IEnumerable<QrResult> results = reader.Read(imageInput);
' Load the asset into QrImageInput
Dim imageInput As New QrImageInput(capturedBitmap)
' Create a QR Reader object
Dim reader As New QrReader()
' Read the Input and get all embedded QR Codes
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)
Jeder Aufruf analysiert ein statisches Bild. Dekodieren Sie sie hintereinander und die Kamera scheint live zu scannen, obwohl IronQR nur einzelne Bilder sieht.

