
Cómo Leer un Código de Barras desde la Cámara en VB .NET
En el cambiante panorama de la tecnología, los dispositivos lectores de códigos de barras se han convertido en una parte integral de diversas industrias, que van desde el comercio minorista y la logística hasta la salud y la fabricación. Visual Basic .NET de Microsoft, un lenguaje de programación versátil y potente, proporciona a los desarrolladores un marco sólido para crear aplicaciones que pueden leer códigos de barras directamente desde una transmisión de cámara. Este artículo tiene como objetivo proporcionar un tutorial completo de lector de códigos de barras usando una cámara en Visual Basic utilizando la biblioteca IronBarcode de Iron Software.
La biblioteca IronBarcode le permite leer archivos de imágenes de códigos de barras y también cuando se transmiten desde cámaras. También admite la lectura de códigos de barras desde un documento PDF. Es capaz de escanear un máximo de un código de barras a la vez. El tipo de código de barras debe especificarse en el momento de leer la imagen del código de barras en el SDK lector de códigos de barras de VB.NET.
Cómo leer un código de barras desde la cámara en VB .NET
- Cree un nuevo proyecto VB.NET en Visual Studio
- Instale la Biblioteca IronBarcode y aplíquela en su proyecto
- Obtenga el código de barras de la cámara como una imagen usando la Biblioteca AForge
- Decodifique la imagen del código de barras usando IronBarcode
Requisitos previos
- Visual Studio: Asegúrese de tener instalado Visual Studio u otro entorno de desarrollo de VB.NET.
- Cámara Compatible: Asegúrese de que dicha cámara esté conectada a su dispositivo.
- Administrador de Paquetes NuGet: Asegúrese de poder usar NuGet para administrar paquetes en su proyecto.
Paso 1: Crear un nuevo proyecto de Visual Basic .NET en Visual Studio
Crea una nueva aplicación de formularios Windows en VB.NET (o usa un proyecto existente) donde desees alojar el código para leer el código de barras de tu cámara.

En el siguiente paso, puedes proporcionar los nombres de solución y proyecto.

Seleccione la versión de .NET y haga clic en el botón 'Crear'.
Paso 2: Instalar la biblioteca de IronBarcode
Abra su proyecto VB.NET e instale la biblioteca IronBarcode usando la Consola del Administrador de Paquetes NuGet:

El paquete NuGet también se puede instalar usando el Administrador de Paquetes de NuGet de Visual Studio, como se muestra abajo.

Paso 3: Leyendo el código de barras desde la cámara
Para escanear la transmisión y capturar la imagen de la cámara, necesitamos la Biblioteca AForge. Instálalo como se indica desde NuGet.

El siguiente paso es agregar el control PictureBox desde el Toolbox a los formularios. Esto se utiliza para capturar la imagen desde la cámara.

Luego copie el código inferior en la aplicación de formularios y cree el componente lector de códigos de barras VB .NET desde 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
En este código de muestra, lo hemos configurado para leer códigos QR y códigos de barras Code 128. Primero, usamos un PictureBox para capturar imágenes de códigos de barras de una webcam o cualquier dispositivo de cámara escaneando el código de barras. Luego creamos una imagen bitmap, que se proporciona como entrada a la clase IronBarcode BarcodeReader. Esta aplicación lee el código de barras 2D de las imágenes y los decodifica. Si se obtiene un resultado positivo después de la decodificación, entonces el resultado se muestra en el cuadro de mensaje.
Licencia (Prueba gratuita disponible)
Para usar IronBarcode, necesita colocar una clave de licencia en su appsettings.json.
{
"IronBarCode.LicenseKey": "MYLICENSE.KEY.TRIAL"
}
Proporcione su ID de correo electrónico para obtener una licencia de prueba y después de enviar el ID de correo electrónico, la clave será entregada por correo electrónico.

Conclusión
Implementar la lectura de códigos de barras desde una cámara en VB.NET es una característica poderosa que puede mejorar varias aplicaciones en diferentes industrias. Al aprovechar bibliotecas como IronBarcode e integrarlas en su proyecto VB.NET, puede crear aplicaciones de escaneo de códigos de barras eficientes y confiables que satisfagan las demandas del mundo tecnológico actual. Esta guía sirve como punto de partida, y los desarrolladores pueden personalizar y optimizar aún más la solución según sus requisitos específicos, tipos de códigos de barras y casos de uso.

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.
Artículos Relacionados

