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:
Install-Package BarCode

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 ClassImports 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 ClassEn 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 luego se proporciona como entrada a la clase BarcodeReader de IronBarcode. 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.
Preguntas Frecuentes
¿Cómo puedo leer códigos de barras desde una cámara usando VB.NET?
Para leer códigos de barras desde una cámara en VB.NET, puedes usar la biblioteca IronBarcode para decodificar imágenes capturadas de la transmisión de una cámara. Primero, configura un proyecto VB.NET en Visual Studio, instala IronBarcode a través de NuGet y utiliza la biblioteca AForge para gestionar la entrada de la cámara.
¿Qué pasos se involucran en la configuración de un proyecto lector de códigos de barras en VB.NET?
Comienza creando una nueva aplicación de formularios Windows en VB.NET en Visual Studio. Instala la biblioteca IronBarcode utilizando NuGet y configura un PictureBox para capturar imágenes de tu cámara. Usa la biblioteca AForge para manejar las transmisiones de la cámara y IronBarcode para decodificar códigos de barras.
¿Cómo integrarme con capacidades de captura de cámara en una aplicación VB.NET?
Puedes integrar capacidades de captura de cámara en una aplicación VB.NET usando la biblioteca AForge para acceder y gestionar las transmisiones de la cámara. Estas transmisiones entonces se pueden procesar para capturar imágenes para decodificación de códigos de barras usando IronBarcode.
¿Qué tipos de códigos de barras se pueden decodificar usando IronBarcode en un proyecto de VB.NET?
IronBarcode soporta la decodificación de una amplia gama de tipos de códigos de barras, incluyendo códigos QR y código 128, en un proyecto VB.NET. La biblioteca es versátil y se puede configurar para reconocer diferentes formatos de códigos de barras.
¿Cuáles son los componentes necesarios para desarrollar una aplicación de escaneo de códigos de barras en VB.NET?
Para desarrollar una aplicación de escaneo de códigos de barras en VB.NET, necesitas Visual Studio, una cámara compatible, la biblioteca IronBarcode instalada a través de NuGet y la biblioteca AForge para manejar la entrada de la cámara.
¿Cómo puedo solucionar problemas comunes al leer códigos de barras desde una cámara en VB.NET?
Asegúrate de que tu cámara esté correctamente conectada y reconocida por tu sistema. Verifica que las bibliotecas IronBarcode y AForge estén correctamente instaladas y que tu aplicación tenga acceso a la transmisión de la cámara. Revisa la sintaxis del código y las referencias de la biblioteca para detectar errores.
¿Cuál es el proceso para mostrar los resultados del escaneo de códigos de barras en una aplicación VB.NET?
Una vez que un código de barras es decodificado usando IronBarcode, puedes mostrar el resultado en tu aplicación VB.NET mostrándolo en un componente de interfaz de usuario como un MessageBox o una Label para presentar los datos del código de barras al usuario.
¿Puedo probar la biblioteca de códigos de barras antes de comprarla, y cómo obtengo la prueba?
Sí, puedes probar la biblioteca de códigos de barras obteniendo una clave de licencia de prueba desde el sitio web de Iron Software. Envía tu dirección de correo electrónico y recibirás la clave de prueba por correo electrónico para usar en tus proyectos VB.NET.






