Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
In der sich rasch entwickelnden Technologielandschaft sind Barcode-Scanner zu einem festen Bestandteil verschiedener Branchen geworden, vom Einzelhandel und der Logistik bis hin zum Gesundheitswesen und der Fertigung. Visual Basic .NET von Microsoft, eine vielseitige und leistungsstarke Programmiersprache, bietet Entwicklern ein robustes Framework für die Erstellung von Anwendungen, die Barcodes direkt von einer Kamera einlesen können. Dieser Artikel zielt darauf ab, ein umfassendes Barcode-Leser-Tutorial mit einer Kamera in Visual Basic unter Verwendung der IronBarcode bibliothek von Iron Software
Mit der IronBarcode-Bibliothek können Sie Barcode-Bilddateien lesen, auch wenn sie von Kameras gestreamt werden. Es unterstützt auch das Lesen von Barcodes aus einem PDF-Dokument. Kann maximal einen Barcode auf einmal einlesen. Der Barcodetyp muss zum Zeitpunkt des Lesens des Barcodebildes im VB.NET Barcode Reader SDK angegeben werden.
Erstellen eines neuen VB.NET-Projekts in Visual Studio
Installieren Sie die IronBarcode Library und wenden Sie sie auf Ihr Projekt an
Holen Sie sich den Barcode von der Kamera als Bild aus der Aforge-Bibliothek
Visual Studio: Stellen Sie sicher, dass Sie Visual Studio oder eine andere VB.NET-Entwicklungsumgebung installiert haben.
Kompatible Kamera: Stellen Sie sicher, dass die besagte Kamera an Ihr Gerät angeschlossen ist
Erstellen einer neuen VB.NET-Windows-Formularanwendung (oder ein bestehendes Projekt verwenden) wo Sie den Code zum Lesen des Strichcodes von Ihrer Kamera unterbringen möchten.
Im nächsten Schritt können Sie die Lösung und die Projektnamen angeben.
Wählen Sie die .NET-Version aus und klicken Sie auf die Schaltfläche "Erstellen".
Öffnen Sie Ihr C#-Projekt und installieren Sie die IronBarcode-Bibliothek mit dem Befehl *NuGet Paketmanager-Konsole:
Install-Package BarCode
Das NuGet-Paket kann auch mit dem NuGet-Paketmanager von Visual Studio installiert werden, wie unten gezeigt.
Um den Feed zu scannen und das Bild von der Kamera zu erfassen, benötigen wir die AForge Library. Installieren Sie es wie folgt über den NuGet-Paketmanager
Der nächste Schritt besteht darin, das PictureBox-Steuerelement aus der ToolBox zu den Formularen hinzuzufügen. Damit wird das Bild von der Kamera aufgenommen.
Dann kopieren Sie den untenstehenden Code in die Formularanwendung und erstellen Sie die VB .NET Barcode-Lesekomponente von 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
In diesem Beispielcode haben wir ihn so konfiguriert, dass er QR-Codes, Data-Matrix- und Barcode-Bilder mit dem Barcodetyp Code 128 liest. Zunächst verwenden wir PictureBox, um Barcode-Bilder von einer Webcam oder einem beliebigen Kameragerät durch Scannen des Barcodes zu erfassen. Dann erstellen wir ein Bitmap-Bild. Diese wird dann als Eingabe für die IronBarcode BarcodeReader-Klasse bereitgestellt. Diese Anwendung liest den 2D-Barcode aus Bildern und dekodiert ihn. Wenn nach der Dekodierung ein positives Ergebnis erzielt wird, wird das Ergebnis im Meldungsfenster angezeigt.
IronBarcode. Dieser Schlüssel muss in appsettings.json platziert werden.
{
"IronBarcode.LicenseKey":"MYLICENSE.KEY.TRIAL"
}
Geben Sie die E-Mail-ID des Benutzers an, um eine Testlizenz zu erhalten, und nachdem Sie die E-Mail-ID übermittelt haben, wird der Schlüssel per E-Mail zugestellt.
Implementierung des Barcodelesens von einer Kamera in VB.NET ist eine leistungsstarke Funktion, die verschiedene Anwendungen in unterschiedlichen Branchen verbessern kann. Durch den Einsatz von Bibliotheken wie IronBarcode und deren Integration in Ihr VB.NET-Projekt können Sie effiziente und zuverlässige Barcode-Scan-Anwendungen erstellen, die den Anforderungen der heutigen technologiegetriebenen Welt gerecht werden. Dieser Leitfaden dient als Ausgangspunkt, und Entwickler können die Lösung auf der Grundlage ihrer spezifischen Anforderungen, Barcodetypen und Anwendungsfälle weiter anpassen und optimieren.
9 .NET API-Produkte für Ihre Bürodokumente