Scanner de code-barres web
La numérisation des codes-barres à partir de sources web nécessite souvent de traiter les données d'image sous forme de chaînes de texte plutôt que de fichiers physiques. L'avantage principal de cette approche est qu'elle permet à votre application de traiter les images directement à partir de téléchargements d'utilisateurs ou de flux de webcam sans les enregistrer d'abord sur le disque.
Dans cet exemple de code, nous allons démontrer le principal extrait de code qui montre comment convertir une chaîne Base64 en image et la scanner pour obtenir les données en utilisant IronBarcode lorsqu'il est intégré à une plateforme web telle que Blazor.
Guide en 5 étapes pour configurer le scanner web IronBarcode
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})";
Explication du code
Tout d'abord, la chaîne d'entrée, généralement une chaîne Base64, est convertie en un byte[] en utilisant Convert.FromBase64String et une logique de fractionnement supplémentaire utilisant MemoryStream. De plus, une vérification est effectuée pour voir si la chaîne doit être divisée. Cela gère les cas où l'entrée pourrait contenir des en-têtes, tels que des URI de données, en s'assurant que seules les données d'image réelles sont traitées.
Ensuite, ces octets sont chargés dans un MemoryStream. Cela agit comme un support temporaire, permettant à un objet Image d'être créé directement à partir du flux en utilisant Image.FromStream. Une fois l'image chargée, elle est transmise à BarcodeReader.Read pour la numérisation.
Enfin, le résultat de la lecture est renvoyé avec un horodatage. Le tableau results, qui contient une liste de BarcodeResults, est accédé pour renvoyer la valeur du premier code-barres via la propriété Value.
Apprenez-en plus sur la création d'un Scanner Web avec IronBarcode !

