Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
Dans le paysage technologique en évolution rapide, les lecteurs de codes-barres font désormais partie intégrante de divers secteurs, allant de la vente au détail et de la logistique aux soins de santé et à la fabrication. Visual Basic .NET de Microsoft, un langage de programmation polyvalent et puissant, fournit aux développeurs un cadre robuste pour créer des applications capables de lire des codes-barres directement à partir d'une caméra. Cet article a pour but de fournir un tutoriel complet sur le lecteur de codes-barres utilisant une caméra en Visual Basic à l'aide de la fonction IronBarcode bibliothèque de Iron Software
La bibliothèque IronBarcode vous permet de lire des fichiers d'images de codes-barres et également lorsqu'ils sont transmis par des caméras. Il permet également de lire les codes-barres d'un document PDF. Capable de scanner un maximum d'un code-barres à la fois. Le type de code-barres doit être spécifié au moment de la lecture de l'image du code-barres dans le SDK du lecteur de codes-barres VB.NET.
Créer un nouveau projet VB.NET dans Visual Studio
Installez la bibliothèque IronBarcode et appliquez-la à votre projet
Récupérer le code-barres de l'appareil photo sous forme d'image dans la bibliothèque Aforge
Visual Studio: Assurez-vous que Visual Studio ou tout autre environnement de développement VB.NET est installé.
Appareil photo compatible: Assurez-vous que l'appareil photo en question est connecté à votre appareil
Créer une nouvelle application Windows form VB.NET (ou utiliser un projet existant) où vous souhaitez héberger le code pour lire le code-barres à partir de votre appareil photo.
Dans l'étape suivante, vous pouvez indiquer les noms de la solution et du projet.
Sélectionnez la version .NET et cliquez sur le bouton "Créer".
Ouvrez votre projet C# et installez la bibliothèque IronBarcode à l'aide de la commande NuGet Console du gestionnaire de paquets :
Install-Package BarCode
Le paquet NuGet peut également être installé à l'aide du gestionnaire de paquets NuGet de Visual Studio, comme indiqué ci-dessous.
Pour scanner le flux et capturer l'image de la caméra, nous avons besoin de la bibliothèque AForge. Installez-le comme suit à partir du gestionnaire de paquets NuGet
L'étape suivante consiste à ajouter le contrôle PictureBox de ToolBox aux formulaires. Il est utilisé pour capturer l'image de l'appareil photo.
Copiez ensuite le code ci-dessous dans l'application de formulaires et créez le composant de lecture de codes-barres VB .NET à partir d'IronBarcode.
Imports IronBarCode
Imports AForge.Video
Imports AForge.Video.DirectShow
Public Class Form1
Private videoDevices As FilterInfoCollection
Private videoSource As VideoCaptureDevice
Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
videoDevices = New FilterInfoCollection(FilterCategory.VideoInputDevice)
If videoDevices.Count > 0 Then
videoSource = New VideoCaptureDevice(videoDevices(0).MonikerString)
AddHandler videoSource.NewFrame, AddressOf VideoSource_NewFrame
videoSource.Start()
Else
MessageBox.Show("No video devices found.")
Close()
End If
End Sub
Private Sub VideoSource_NewFrame(sender As Object, eventArgs As NewFrameEventArgs)
pictureBoxCamera.Image = DirectCast(eventArgs.Frame.Clone(), Bitmap)
' Process each frame for barcode recognition
Dim image = DirectCast(pictureBoxCamera.Image, Bitmap)
Dim result = BarcodeReader.QuicklyReadOneBarcode(image, BarcodeEncoding.QRCode Or BarcodeEncoding.Code128)
If result IsNot Nothing Then
' Barcode found, handle the new result (e.g., display the barcode value)
Dim barcodeValue As String = result.Text
ShowBarcodeResult(barcodeValue)
End If
End Sub
Private Sub ShowBarcodeResult(barcodeValue As String)
' Invoke on UI thread to update UI controls
If InvokeRequired Then
Invoke(New Action(Of String)(AddressOf ShowBarcodeResult), barcodeValue)
Else
' Display the barcode font value in a MessageBox or any other UI element
MessageBox.Show("Barcode Value: " & barcodeValue, "Barcode Detected")
End If
End Sub
Private Sub MainForm_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
If videoSource IsNot Nothing AndAlso videoSource.IsRunning Then
videoSource.SignalToStop()
videoSource.WaitForStop()
End If
End Sub
End Class
Imports IronBarCode
Imports AForge.Video
Imports AForge.Video.DirectShow
Public Class Form1
Private videoDevices As FilterInfoCollection
Private videoSource As VideoCaptureDevice
Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
videoDevices = New FilterInfoCollection(FilterCategory.VideoInputDevice)
If videoDevices.Count > 0 Then
videoSource = New VideoCaptureDevice(videoDevices(0).MonikerString)
AddHandler videoSource.NewFrame, AddressOf VideoSource_NewFrame
videoSource.Start()
Else
MessageBox.Show("No video devices found.")
Close()
End If
End Sub
Private Sub VideoSource_NewFrame(sender As Object, eventArgs As NewFrameEventArgs)
pictureBoxCamera.Image = DirectCast(eventArgs.Frame.Clone(), Bitmap)
' Process each frame for barcode recognition
Dim image = DirectCast(pictureBoxCamera.Image, Bitmap)
Dim result = BarcodeReader.QuicklyReadOneBarcode(image, BarcodeEncoding.QRCode Or BarcodeEncoding.Code128)
If result IsNot Nothing Then
' Barcode found, handle the new result (e.g., display the barcode value)
Dim barcodeValue As String = result.Text
ShowBarcodeResult(barcodeValue)
End If
End Sub
Private Sub ShowBarcodeResult(barcodeValue As String)
' Invoke on UI thread to update UI controls
If InvokeRequired Then
Invoke(New Action(Of String)(AddressOf ShowBarcodeResult), barcodeValue)
Else
' Display the barcode font value in a MessageBox or any other UI element
MessageBox.Show("Barcode Value: " & barcodeValue, "Barcode Detected")
End If
End Sub
Private Sub MainForm_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
If videoSource IsNot Nothing AndAlso videoSource.IsRunning Then
videoSource.SignalToStop()
videoSource.WaitForStop()
End If
End Sub
End Class
Dans cet exemple de code, nous l'avons configuré pour lire le code QR, la matrice de données et les images de code-barres avec le type de code-barres code 128. Tout d'abord, nous utilisons PictureBox pour capturer des images de codes-barres à partir d'une webcam ou de n'importe quel appareil photo en scannant le code-barres. Nous créons ensuite une image bitmap. Cette dernière est ensuite fournie comme entrée à la classe IronBarcode BarcodeReader. Cette application lit les codes-barres 2D à partir d'images et les décode. Si un résultat positif est obtenu après le décodage, le résultat est affiché dans la boîte à messages.
IronBarcode. Cette clé doit être placée dans appsettings.json.
{
"IronBarcode.LicenseKey":"MYLICENSE.KEY.TRIAL"
}
Fournissez l'adresse e-mail de l'utilisateur pour obtenir une licence d'essai et après avoir soumis l'adresse e-mail, la clé sera envoyée par e-mail.
Mise en œuvre de la lecture de codes-barres à partir d'un appareil photo dans VB.NET est une fonction puissante qui peut améliorer diverses applications dans différents secteurs. En s'appuyant sur des bibliothèques telles que IronBarcode et en les intégrant dans votre projet VB.NET, vous pouvez créer des applications de lecture de codes-barres efficaces et fiables qui répondent aux exigences du monde actuel axé sur la technologie. Ce guide sert de point de départ, et les développeurs peuvent personnaliser et optimiser la solution en fonction de leurs besoins spécifiques, des types de codes-barres et des cas d'utilisation.
9 produits de l'API .NET pour vos documents de bureau