Zum Fußzeileninhalt springen
IRONBARCODE VERWENDEN

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

In der sich schnell entwickelnden Technologielandschaft sind Barcodelesegeräte zu einem integralen Bestandteil verschiedener Branchen geworden, die von Einzelhandel und Logistik bis hin zu Gesundheitswesen und Fertigung reichen. Visual Basic .NET von Microsoft, eine vielseitige und leistungsstarke Programmiersprache, bietet Entwicklern ein robustes Framework, um Anwendungen zu erstellen, die Barcodes direkt von einem Kamerastream lesen können. This article aims to provide a comprehensive barcode reader tutorial using a camera in Visual Basic using the IronBarcode library from Iron Software.

Die IronBarcode-Bibliothek ermöglicht es Ihnen, Barcode-Bilderdateien zu lesen und auch, wenn sie von Kameras gestreamt werden. Sie unterstützt auch das Lesen von Barcodes aus einem PDF-Dokument. Es kann maximal einen Barcode gleichzeitig scannen. Der Barcode-Typ muss zum Zeitpunkt des Lesens des Barcodes im VB.NET-Barcodeleser-SDK spezifiziert werden.

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

  1. Erstellen Sie ein neues VB.NET-Projekt in Visual Studio
  2. Installieren Sie die IronBarcode-Bibliothek und wenden Sie sie auf Ihr Projekt an
  3. Holen Sie den Barcode von der Kamera als Bild mit der AForge-Bibliothek
  4. Dekodieren Sie das Barcode-Bild 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 Kamera mit Ihrem Gerät verbunden ist.
  3. NuGet-Paket-Manager: Stellen Sie sicher, dass Sie NuGet verwenden können, um Pakete in Ihrem Projekt zu verwalten.

Schritt 1: Erstellen Sie ein neues Visual Basic .NET-Projekt in Visual Studio

Erstellen Sie eine neue VB.NET Windows Forms-Anwendung (oder verwenden Sie ein vorhandenes Projekt), in der Sie den Code zum Lesen des Barcodes von Ihrer Kamera hosten möchten.

Wie man einen Barcode von der Kamera in VB .NET liest: Abbildung 1 - Neue VB.NET Windows-Formularanwendung erstellen

Im nächsten Schritt können Sie die Namen der Lösung und des Projekts angeben.

Wie man einen Barcode von der Kamera in VB .NET liest: Abbildung 2 - Projekt mit Name und Lösung konfigurieren

Wählen Sie die .NET-Version aus und klicken Sie auf den "Erstellen"-Button.

Schritt 2: Installieren Sie die IronBarcode-Bibliothek

Öffnen Sie Ihr VB.NET-Projekt und installieren Sie die IronBarcode-Bibliothek mit der NuGet-Paket-Manager-Konsole:

Install-Package BarCode

Wie man einen Barcode von der Kamera in VB .NET liest: Abbildung 3 - NuGet IronBarcode-Paket installieren

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

Wie man einen Barcode von der Kamera in VB .NET liest: Abbildung 4 - IronBarcode über den Visual Studio Paket-Manager installieren

Schritt 3: Den Barcode von der Kamera lesen

Um den Feed zu scannen und das Bild von der Kamera zu erfassen, benötigen wir die AForge-Bibliothek. Installieren Sie sie wie unten aus dem NuGet-Paket-Manager.

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

Der nächste Schritt ist, das PictureBox-Steuerelement aus dem ToolBox zu den Formularen hinzuzufügen. Dies wird verwendet, um das Bild von der Kamera zu erfassen.

Wie man einen Barcode von der Kamera in VB .NET liest: Abbildung 6 - Das PictureBox-Steuerelement hinzufügen

Kopieren Sie dann den untenstehenden Code in die Formularanwendung und erstellen Sie die VB.NET Barcodeleser-Komponente von IronBarcode.

Imports IronBarCode
Imports AForge.Video
Imports AForge.Video.DirectShow

Public Class Form1
    Private videoDevices As FilterInfoCollection
    Private videoSource As VideoCaptureDevice

    ' Event handler for form load
    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

    ' Event handler for capturing and processing new frame from the video source
    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

    ' Method to display the barcode result
    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 value in a MessageBox or any other UI element
            MessageBox.Show("Barcode Value: " & barcodeValue, "Barcode Detected")
        End If
    End Sub

    ' Event handler for form closing
    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

    ' Event handler for form load
    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

    ' Event handler for capturing and processing new frame from the video source
    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

    ' Method to display the barcode result
    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 value in a MessageBox or any other UI element
            MessageBox.Show("Barcode Value: " & barcodeValue, "Barcode Detected")
        End If
    End Sub

    ' Event handler for form closing
    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 es so konfiguriert, dass QR-Codes und Code 128-Barcodes gelesen werden. Zuerst verwenden wir eine PictureBox, um Barcodes von einer Webcam oder einem anderen Kameragerät durch Scannen des Barcodes zu erfassen. Dann erstellen wir ein Bitmap-Bild, das dann als Eingabe der IronBarcode BarcodeReader Klasse bereitgestellt wird. Diese Anwendung liest den 2D-Barcode von Bildern und dekodiert sie. Wenn nach dem Dekodieren ein positives Ergebnis erzielt wird, wird das Ergebnis im Nachrichtenfeld angezeigt.

Lizenzierung (Kostenlose Testversion verfügbar)

Um IronBarcode zu verwenden, müssen Sie einen Lizenzschlüssel in Ihr appsettings.json einfügen.

{
    "IronBarcode.LicenseKey": "MYLICENSE.KEY.TRIAL"
}

Geben Sie Ihre E-Mail-ID an, um eine Testlizenz zu erhalten, und nach dem Einreichen der E-Mail-ID wird der Schlüssel per E-Mail geliefert.

Wie man einen Barcode von der Kamera in VB .NET liest: Abbildung 7 - Pop-up nach erfolgreichem Einreichen eines Testformulars

Abschluss

Das Implementieren des Barcode-Lesens von einer Kamera in VB.NET ist ein leistungsstarkes Feature, das verschiedene Anwendungen in unterschiedlichen Branchen verbessern kann. Durch die Nutzung von Bibliotheken wie IronBarcode und deren Integration in Ihr VB.NET-Projekt können Sie effiziente und zuverlässige Barcode-Scanner-Anwendungen erstellen, die den Anforderungen der heutigen technologiegetriebenen Welt entsprechen. Diese Anleitung dient als Ausgangspunkt und Entwickler können die Lösung weiter anpassen und optimieren basierend auf ihren spezifischen Anforderungen, Barcode-Typen und Anwendungsfällen.

Häufig gestellte Fragen

Wie kann ich Barcodes von einer Kamera mit VB.NET lesen?

Um Barcodes von einer Kamera in VB.NET zu lesen, können Sie die IronBarcode-Bibliothek verwenden, um Bilder aus einem Kamera-Feed zu decodieren. Richten Sie zunächst ein VB.NET-Projekt in Visual Studio ein, installieren Sie IronBarcode über NuGet und verwenden Sie die AForge-Bibliothek, um Kameraeingaben zu verwalten.

Welche Schritte sind erforderlich, um ein Barcode-Leseprojekt in VB.NET einzurichten?

Beginnen Sie damit, eine neue VB.NET Windows Forms-Anwendung in Visual Studio zu erstellen. Installieren Sie die IronBarcode-Bibliothek über NuGet und konfigurieren Sie eine PictureBox, um Bilder von Ihrer Kamera aufzunehmen. Verwenden Sie die AForge-Bibliothek, um Kamera-Feeds zu verarbeiten und IronBarcode, um Barcodes zu decodieren.

Wie integriere ich Kamerafunktionen in einer VB.NET-Anwendung?

Sie können Kamerafunktionen in einer VB.NET-Anwendung integrieren, indem Sie die AForge-Bibliothek verwenden, um auf Kamera-Feeds zuzugreifen und diese zu verwalten. Diese Feeds können dann verarbeitet werden, um Bilder für die Barcode-Dekodierung mit IronBarcode aufzunehmen.

Welche Barcodetypen können in einem VB.NET-Projekt mit IronBarcode decodiert werden?

IronBarcode unterstützt das Decodieren einer Vielzahl von Barcodetypen, einschließlich QR-Codes und Code 128, in einem VB.NET-Projekt. Die Bibliothek ist vielseitig und kann so konfiguriert werden, dass sie verschiedene Barcode-Formate erkennt.

Was sind die notwendigen Komponenten, um eine Barcode-Scan-Anwendung in VB.NET zu entwickeln?

Um eine Barcode-Scan-Anwendung in VB.NET zu entwickeln, benötigen Sie Visual Studio, eine kompatible Kamera, die IronBarcode-Bibliothek, die über NuGet installiert ist, und die AForge-Bibliothek, um Kameraeingaben zu verarbeiten.

Wie kann ich häufige Probleme beim Lesen von Barcodes von einer Kamera in VB.NET beheben?

Stellen Sie sicher, dass Ihre Kamera richtig angeschlossen und vom System erkannt wird. Vergewissern Sie sich, dass die IronBarcode- und AForge-Bibliotheken korrekt installiert sind und dass Ihre Anwendung Zugriff auf den Kamera-Feed hat. Überprüfen Sie die Code-Syntax und die Bibliotheksreferenzen auf Fehler.

Wie ist der Prozess zum Anzeigen von Barcode-Scan-Ergebnissen in einer VB.NET-Anwendung?

Sobald ein Barcode mit IronBarcode decodiert wurde, können Sie das Ergebnis in Ihrer VB.NET-Anwendung anzeigen, indem Sie es in einer UI-Komponente wie einer MessageBox oder einem Label anzeigen, um den Barcode-Daten dem Benutzer zu präsentieren.

Kann ich die Barcode-Bibliothek vor dem Kauf ausprobieren, und wie erhalte ich die Testversion?

Ja, Sie können die Barcode-Bibliothek ausprobieren, indem Sie einen Testlizenzschlüssel von der Iron Software-Website erhalten. Senden Sie Ihre E-Mail-ID, und Sie erhalten den Testschlüssel per E-Mail, den Sie in Ihren VB.NET-Projekten verwenden können.

Jordi Bardia
Software Ingenieur
Jordi ist am besten in Python, C# und C++ versiert. Wenn er nicht bei Iron Software seine Fähigkeiten einsetzt, programmiert er Spiele. Mit Verantwortung für Produkttests, Produktentwicklung und -forschung trägt Jordi mit immensem Wert zur kontinuierlichen Produktverbesserung bei. Die abwechslungsreiche Erfahrung hält ihn gefordert und engagiert, ...
Weiterlesen