Barcode Web-Scanner
Das Scannen von Barcodes aus Webquellen erfordert häufig, Bilddaten als Textzeichenfolgen anstelle von physischen Dateien zu verarbeiten. Der Hauptvorteil dieses Ansatzes ist, dass es Ihrer Anwendung ermöglicht, Bilder direkt aus Benutzer-Uploads oder Webcam-Feeds zu verarbeiten, ohne sie zuerst auf der Festplatte speichern zu müssen.
In diesem Codebeispiel zeigen wir das Hauptcode-Snippet, das veranschaulicht, wie man einen Base64-String zurück in ein Bild konvertiert und es auf Daten scannt, indem IronBarcode integriert mit einer Web-Plattform wie Blazor verwendet wird.
5-Schritte-Anleitung zum Einrichten des IronBarcode-Webscanners
byte[] imagebyteData = Convert.FromBase64String((splitObject.Length > 1) ? splitObject[1] : splitObject[0]);using (var ms = new MemoryStream(imagebyteData))Image barcodeImage = Image.FromStream(ms);var results = BarcodeReader.Read(barcodeImage);return $"{DateTime.Now}: Barcode is ({results[0].Value})";
Code Erklärung
Zunächst wird die Eingabezeichenfolge, typischerweise eine Base64-Zeichenfolge, mithilfe von Convert.FromBase64String und einer zusätzlichen Aufteilungslogik unter Verwendung von MemoryStream in eine byte[]-Zeichenfolge umgewandelt. Zusätzlich wird eine Prüfung durchgeführt, ob der String aufgeteilt werden muss. Dies behandelt Fälle, in denen die Eingabe-Header wie Daten-URIs enthalten könnte, und stellt sicher, dass nur die tatsächlichen Bilddaten verarbeitet werden.
Anschließend werden diese Bytes in einen MemoryStream geladen. Dies dient als temporärer Platzhalter, der es ermöglicht, ein Image-Objekt mithilfe von Image.FromStream direkt aus dem Stream zu erstellen. Sobald das Bild geladen ist, wird es zur Überprüfung an BarcodeReader.Read weitergeleitet.
Schließlich wird das Leseergebnis zusammen mit einem Zeitstempel zurückgegeben. Auf das Array results, das eine Liste von BarcodeResults enthält, wird zugegriffen, um den Wert des ersten BarCodes über die Eigenschaft Value zurückzugeben.
Erfahren Sie mehr über das Erstellen eines Webscanners mit IronBarcode!

