Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
En el panorama tecnológico en rápida evolución, los escáneres de códigos de barras se han convertido en parte integrante de diversos sectores, desde el comercio minorista y la logística hasta la sanidad y la fabricación. Visual Basic .NET de Microsoft, un lenguaje de programación versátil y potente, ofrece a los desarrolladores un marco sólido para crear aplicaciones capaces de leer códigos de barras directamente desde una cámara. Este artículo tiene como objetivo proporcionar un tutorial completo lector de código de barras utilizando una cámara en Visual Basic utilizando el**Código de barras de hierro biblioteca de**Software de hierro
La biblioteca IronBarcode 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 de un documento PDF. Capaz de escanear como máximo un código de barras a la vez. Es necesario especificar el tipo de código de barras en el momento de leer la imagen del código de barras en el SDK lector de código de barras VB.NET.
Crear un nuevo proyecto VB.NET en Visual Studio
Instale la librería IronBarcode y aplíquela a su proyecto
Obtener el código de barras de la cámara como una imagen de la Biblioteca Aforge
Visual Studio: Asegúrese de tener instalado Visual Studio o cualquier otro entorno de desarrollo VB.NET.
Cámara compatible: Asegúrese de que dicha cámara está conectada a su dispositivo.
Crear una nueva aplicación VB.NET Windows Form(o utilizar un proyecto existente) donde desea alojar el código para leer el código de barras de su cámara.
En El siguiente paso, puede proporcionar los nombres de la solución y del proyecto.
Seleccione la versión .NET y haga clic en el botón "Crear".
Abra su proyecto C# e instale la librería IronBarcode utilizando el comandoNuGet Consola del gestor de paquetes:
Install-Package BarCode
El paquete NuGet también puede instalarse mediante el gestor de paquetes NuGet de Visual Studio, como se muestra a continuación.
Para escanear el feed y capturar la imagen de la cámara, necesitamos la librería AForge. Instálelo como se indica a continuación desde el gestor de paquetes NuGet
El siguiente paso es añadir el control PictureBox de ToolBox a los formularios. Se utiliza para capturar la imagen de la cámara.
A continuación, copie el código siguiente en la aplicación de formularios y cree el componente lector de códigos de barras VB .NET de 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
En este código de ejemplo, hemos configurado para leer el código QR, matriz de datos, y las imágenes de código de barras con código 128 tipo de código de barras. En primer lugar, utilizamos PictureBox para capturar imágenes de códigos de barras desde una webcam o cualquier dispositivo con cámara escaneando el código de barras. A continuación, creamos una imagen de mapa de bits. Que luego se proporciona como entrada a la clase IronBarcode BarcodeReader. Esta aplicación lee los códigos de barras 2D de las imágenes y los descodifica. Si tras la descodificación se obtiene un resultado positivo, éste se muestra en el cuadro de mensajes.
**Código de barras de hierro. Esta clave debe colocarse en appsettings.json.
{
"IronBarcode.LicenseKey":"MYLICENSE.KEY.TRIAL"
}
Proporcione el ID de correo electrónico del usuario para obtener una licencia de prueba y después de enviar el ID de correo electrónico, la clave será enviada por correo electrónico.
Implementación de la lectura de códigos de barras desde una cámara en**VB.NET es una potente función que puede mejorar varias aplicaciones en distintos sectores. Aprovechando bibliotecas como**Código de barras de hierro e integrándolos en su proyecto VB.NET, podrá crear aplicaciones de escaneado de códigos de barras eficaces y fiables que satisfagan las exigencias 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 en función de sus requisitos específicos, tipos de códigos de barras y casos de uso.
9 productos API .NET para sus documentos de oficina