IRONBARCODE VERWENDEN

Wie man einen Barcode von einer Kamera in VB .NET liest

Veröffentlicht 6. März 2024
Teilen Sie:

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.

Wie man einen Barcode von einer Kamera in VB .NET liest

  1. Erstellen eines neuen VB.NET-Projekts in Visual Studio

  2. Installieren Sie die IronBarcode Library und wenden Sie sie auf Ihr Projekt an

  3. Holen Sie sich den Barcode von der Kamera als Bild aus der Aforge-Bibliothek

  4. Dekodieren Sie das Barcodebild mit IronBarcode

Voraussetzungen

  1. Visual Studio: Stellen Sie sicher, dass Sie Visual Studio oder eine andere VB.NET-Entwicklungsumgebung installiert haben.

  2. Kompatible Kamera: Stellen Sie sicher, dass die besagte Kamera an Ihr Gerät angeschlossen ist

  3. NuGet Package Manager: Stellen Sie sicher, dass Sie NuGet verwenden können, um Pakete in Ihrem Projekt zu verwalten

Schritt 1: Erstellen eines neuen Visual Basic .NET-Projekts in Visual Studio

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.

Wie man einen Barcode von einer Kamera in VB .NET liest: Abbildung 1 - Erstellen einer neuen VB.NET Windows-Formularanwendung

Im nächsten Schritt können Sie die Lösung und die Projektnamen angeben.

Wie man einen Barcode von einer Kamera in VB .NET liest: Abbildung 2 - Konfigurieren des Projekts mit dem Namen und der Lösung

Wählen Sie die .NET-Version aus und klicken Sie auf die Schaltfläche "Erstellen".

Schritt 2: Installieren Sie die IronBarcode-Bibliothek

Öffnen Sie Ihr C#-Projekt und installieren Sie die IronBarcode-Bibliothek mit dem Befehl *NuGet Paketmanager-Konsole:

Install-Package BarCode

Wie man einen Barcode von einer Kamera in VB .NET liest: Abbildung 3 - Installieren des NuGet IronBarcode Pakets

Das NuGet-Paket kann auch mit dem NuGet-Paketmanager von Visual Studio installiert werden, wie unten gezeigt.

Wie man einen Barcode von einer Kamera in VB .NET liest: Abbildung 4 - Installation von IronBarcode über den Paketmanager von Visual Studio's

Schritt 3: Lesen des Barcodes von der Kamera

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

Wie man einen Barcode von einer Kamera in VB .NET liest: Abbildung 5 - AForge Bibliothekspakete, die im Visual Studio Package Manager gefunden werden

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.

Wie man einen Barcode von einer Kamera in VB .NET liest: Abbildung 6 - Hinzufügen des PictureBox-Steuerelements

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
VB.NET

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.

Lizenzierung (kostenlose Testversion verfügbar)

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.

Wie man einen Barcode von einer Kamera in VB .NET liest: Abbildung 7 - Popup nach erfolgreichem Absenden eines Testformulars

Schlussfolgerung

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.

< PREVIOUS
Verwendung von 2D-Barcodes in VB .NET
NÄCHSTES >
Erzeugen von Code 128 Barcode in C#

Sind Sie bereit, loszulegen? Version: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 1,246,703 Lizenzen anzeigen >