
Jak odczytać kod kreskowy z kamery w VB .NET
W szybko zmieniającym się świecie technologii skanery BARCODE stały się integralną częścią różnych branż, od handlu detalicznego i logistyki po opiekę zdrowotną i produkcję. Visual Basic .NET firmy Microsoft, wszechstronny i potężny język programowania, zapewnia programistom solidną platformę do tworzenia aplikacji, które mogą odczytywać BarCodes bezpośrednio z obrazu z kamery. Celem tego artykułu jest przedstawienie kompleksowego samouczka dotyczącego odczytu kodów kreskowych za pomocą kamery w języku Visual Basic przy użyciu biblioteki IronBarcode firmy Iron Software.
Biblioteka IronBarcode umożliwia odczytywanie plików graficznych z kodami kreskowymi, a także danych przesyłanych strumieniowo z kamer. Obsługuje również odczytywanie BARCODE-ów z dokumentów PDF. Może skanować maksymalnie jeden kod kreskowy na raz. Typ kodu kreskowego należy określić w momencie odczytu obrazu kodu kreskowego w pakiecie SDK czytnika kodów kreskowych VB.NET.
Jak odczytać BarCode z kamery w VB .NET
- Utwórz nowy projekt VB.NET w Visual Studio
- Zainstaluj bibliotekę IronBarcode i zastosuj ją w swoim projekcie
- Pobierz kod kreskowy z aparatu jako obraz przy użyciu biblioteki AForge
- Odkoduj obraz kodu kreskowego za pomocą IronBarcode
Wymagania wstępne
- Visual Studio: Upewnij się, że masz zainstalowane Visual Studio lub inne środowisko programistyczne VB.NET.
- Kompatybilny aparat: Upewnij się, że aparat jest podłączony do urządzenia.
- Menedżer pakietów NuGet: Upewnij się, że możesz używać NuGet do zarządzania pakietami w swoim projekcie.
Krok 1: Utwórz nowy projekt Visual Basic .NET w Visual Studio
Utwórz nową aplikację VB.NET Windows Forms (lub użyj istniejącego projektu), w której chcesz umieścić kod do odczytu BARCODE z aparatu.

W kolejnym kroku możesz podać nazwy rozwiązań i projektów.

Wybierz wersję .NET i kliknij przycisk "Utwórz".
Krok 2: Zainstaluj bibliotekę IronBarcode
Otwórz projekt VB.NET i zainstaluj bibliotekę IronBarcode za pomocą konsoli NuGet Package Manager:

Pakiet NuGet można również zainstalować za pomocą menedżera pakietów NuGet w programie Visual Studio, jak pokazano poniżej.

Krok 3: Odczytanie BarCODE z kamery
Aby zeskanować kanał i przechwycić obraz z kamery, potrzebujemy biblioteki AForge. Zainstaluj go zgodnie z poniższą instrukcją za pomocą menedżera pakietów NuGet.

Kolejnym krokiem jest dodanie kontrolki PictureBox z ToolBox do formularzy. Służy to do przechwytywania obrazu z kamery.

Następnie skopiuj poniższy kod do aplikacji formularzy i utwórz komponent czytnika kodów kreskowych VB .NET z biblioteki 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
W tym przykładowym kodzie skonfigurowaliśmy go do odczytu kodów QR i BarCODE-ów Code 128. Najpierw używamy PictureBox do przechwytywania obrazów BarCode z kamery internetowej lub dowolnego urządzenia fotograficznego poprzez skanowanie BarCode. Następnie tworzymy obraz bitmapowy, który jest następnie podany jako wejście do klasy IronBarcode BarcodeReader. Ta aplikacja odczytuje kody kreskowe 2D z obrazów i je dekoduje. Jeśli po dekodowaniu uzyskany zostanie wynik pozytywny, zostanie on wyświetlony w oknie komunikatu.
Licencjonowanie (dostępna bezpłatna wersja próbna)
Aby używać IronBarcode, musisz umieścić klucz licencyjny w swoim appsettings.json.
{
"IronBarCode.LicenseKey": "MYLICENSE.KEY.TRIAL"
}
Podaj swój adres e-mail, aby otrzymać Licencję Trial. Po przesłaniu adresu e-mail klucz zostanie dostarczony pocztą elektroniczną.

Wnioski
Wdrożenie odczytu BarCode z kamery w VB.NET to potężna funkcja, która może wzbogacić różne aplikacje w różnych branżach. Wykorzystując biblioteki takie jak IronBarcode i integrując je z projektem VB.NET, można tworzyć wydajne i niezawodne aplikacje do skanowania kodów kreskowych, które spełniają wymagania dzisiejszego świata opartego na technologii. Niniejszy przewodnik stanowi punkt wyjścia, a programiści mogą dalej dostosowywać i optymalizować rozwiązanie w oparciu o swoje konkretne wymagania, typy BARCODE-ów i przypadki użycia.

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.
Powiązane artykuły


