
Como ler um código de barras da câmera em VB .NET
No cenário tecnológico em rápida evolução, dispositivos de leitura de códigos de barras tornaram-se parte integrante de várias indústrias, desde varejo e logística até saúde e manufatura. Visual Basic .NET da Microsoft, uma linguagem de programação versátil e poderosa, fornece aos desenvolvedores uma estrutura robusta para criar aplicativos que podem ler códigos de barras diretamente de um fluxo de câmera. Este artigo tem como objetivo fornecer um tutorial abrangente de leitura de código de barras usando uma câmera no Visual Basic usando a biblioteca IronBarcode da Iron Software.
A biblioteca IronBarcode permite que você leia arquivos de imagem de código de barras, além de quando transmitidos de câmeras. Também suporta a leitura de códigos de barras de um documento PDF. É capaz de escanear no máximo um código de barras por vez. O tipo de código de barras precisa ser especificado no momento da leitura da imagem do código de barras no SDK do leitor de código de barras VB.NET.
Como Ler um Código de Barras da Câmera no VB .NET
- Crie um novo Projeto VB.NET no Visual Studio
- Instale a Biblioteca IronBarcode e aplique-a ao seu projeto
- Obtenha o código de barras da câmera como uma imagem usando a Biblioteca AForge
- Decodifique a imagem do código de barras usando IronBarcode
Pré-requisitos
- Visual Studio: Certifique-se de ter o Visual Studio ou qualquer outro ambiente de desenvolvimento VB.NET instalado.
- Câmera Compatível: Certifique-se de que a referida câmera esteja conectada ao seu dispositivo.
- Gerenciador de Pacotes NuGet: Certifique-se de poder usar o NuGet para gerenciar pacotes no seu projeto.
Passo 1: Criar um Novo Projeto Visual Basic .NET no Visual Studio
Crie um novo aplicativo Windows Forms em VB.NET (ou use um projeto existente) onde você deseja hospedar o código para ler o código de barras da sua câmera.

Na próxima etapa, você pode fornecer os nomes da solução e do projeto.

Selecione a versão do .NET e clique no botão "Criar".
Passo 2: Instalar a Biblioteca IronBarcode
Abra seu projeto VB.NET e instale a biblioteca IronBarcode usando o Console de Gerenciador de Pacotes NuGet:

O pacote NuGet também pode ser instalado usando o Gerenciador de Pacotes NuGet do Visual Studio, como mostrado abaixo.

Passo 3: Lendo o Código de Barras da Câmera
Para escanear o fluxo e capturar a imagem da câmera, precisamos da Biblioteca AForge. Instale-a como abaixo no gerenciador de pacotes NuGet.

O próximo passo é adicionar o controle PictureBox do ToolBox aos formulários. Isso é usado para capturar a imagem da câmera.

Em seguida, copie o código abaixo para o aplicativo de formulários e crie o componente leitor de código de barras VB .NET do 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
Neste código exemplo, configuramos para ler códigos QR e códigos de barras Code 128. Primeiro, usamos um PictureBox para capturar imagens de código de barras de uma webcam ou qualquer dispositivo de câmera, escaneando o código de barras. Então, criamos uma imagem bitmap, que então é fornecida como entrada para a classe IronBarcode BarcodeReader. Este aplicativo lê o código de barras 2D de imagens e os decodifica. Se for obtido um resultado positivo após a decodificação, o resultado é exibido na caixa de mensagem.
Licenciamento (Teste Gratuito Disponível)
Para usar IronBarcode, você precisa colocar uma chave de licença no seu appsettings.json.
{
"IronBarCode.LicenseKey": "MYLICENSE.KEY.TRIAL"
}
Forneça seu ID de e-mail para obter uma licença de teste, e após enviar o ID de e-mail, a chave será entregue por e-mail.

Conclusão
Implementar leitura de código de barras a partir de uma câmera no VB.NET é um recurso poderoso que pode aprimorar vários aplicativos em diferentes indústrias. Aproveitando bibliotecas como IronBarcode e integrando-as ao seu projeto VB.NET, você pode criar aplicativos de escaneamento de código de barras eficientes e confiáveis que atendem às demandas do mundo orientado por tecnologia de hoje. Este guia serve como ponto de partida, e os desenvolvedores podem personalizar e otimizar ainda mais a solução com base em seus requisitos específicos, tipos de código de barras e casos de uso.

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.
Artigos relacionados


