在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
在技术快速发展的今天,条形码扫描仪设备已成为从零售和物流到医疗保健和制造业等各行各业不可或缺的一部分。 微软公司的 Visual Basic .NET 是一种通用且功能强大的编程语言,它为开发人员提供了一个强大的框架,用于创建可直接从摄像头信号读取条形码的应用程序。 本文旨在提供一个全面的条形码阅读器教程,使用 Visual Basic 中的摄像头,使用IronBarcode从铁软件
IronBarcode 库允许您读取条形码图像文件,也允许您读取从摄像头流出的条形码图像。 它还支持从 PDF 文档中读取 BarCode。 能够一次最多扫描一个条形码。在 VB.NET 条码阅读器 SDK 中读取条码图像时需要指定条码类型。
在 Visual Studio 中创建一个新的 VB.NET 项目
安装 IronBarcode 库并将其应用到您的项目中
从 Aforge 库中获取相机中的条形码作为图像
Visual Studio: 确保您已安装 Visual Studio 或任何其他 VB.NET 开发环境。
兼容相机: 确保所述相机已连接到您的设备上
创建一个新的 VB.NET Windows 表单应用程序(或使用现有项目)您要在哪里托管代码,以便从相机读取 BarCode。
在 "下一步 "中,您可以提供解决方案和项目名称。
选择 .NET 版本并单击 "创建 "按钮。
打开您的 C# 项目,使用以下命令安装 IronBarcode 库NuGet软件包管理器控制台:
Install-Package BarCode
还可以使用 Visual Studio 的 NuGet 包管理器安装 NuGet 包,如下图所示。
要扫描饲料并从摄像头捕捉图像,我们需要 AForge 库。 从 NuGet 软件包管理器中安装,如下所示
下一步是将 ToolBox 中的 PictureBox 控件添加到表单中。 这用于从相机中捕捉图像。
然后将以下代码复制到窗体应用程序中,并创建 IronBarcode 的 VB .NET 条码阅读器组件。
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
在此示例代码中,我们将其配置为读取 QR 码、数据矩阵和带有 code 128 条码类型的条码图像。 首先,我们使用 PictureBox 通过扫描条形码从网络摄像头或任何摄像设备上捕捉条形码图像。 然后,我们创建一个位图图像。 翻译后的内容将作为输入内容提供给 IronBarcode BarcodeReader 类。 此应用程序可从图像中读取二维条形码并进行解码。 如果解码后得到了肯定的结果,那么结果就会显示在消息框中。
IronBarcode. 这个密钥需要放置在appsettings.json中。
{
"IronBarcode.LicenseKey":"MYLICENSE.KEY.TRIAL"
}
提供用户电子邮件 ID 以获取试用许可证,提交电子邮件 ID 后,密钥将通过电子邮件发送。
在以下应用程序中实现从摄像头读取 BarCodeVB.NET在翻译过程中,我们必须注意到,.NET、Java、Python 或 Node js 是一个强大的功能,可以增强不同行业的各种应用。 通过利用IronBarcode通过将这些工具集成到您的 VB.NET 项目中,您可以创建高效可靠的条形码扫描应用程序,满足当今技术驱动型世界的需求。 本指南可作为一个起点,开发人员可根据自己的具体要求、Barcode 类型和用例进一步定制和优化解决方案。