本教程展示了如何创建一个c# WinForms应用程序使用BarcodeEngine和BarcodeReader类从图像读取条形码和显示表单上的数据。
概述 | |
---|---|
总结 | 本教程介绍了如何使用BarcodeReader在c#类WinForms应用程序。 |
完成时间 | 30分钟 |
Visual Studio项目 | 下载教程项目(10 KB) |
平台 | c# Windows WinForms应用程序 |
IDE | Visual Studio 2017中,2019年 |
开发许可 | 下载LEADTOOLS |
试试用另一种语言 |
|
熟悉基本的步骤创建一个项目的审查添加引用和设置一个许可证和显示图像的图像查看器教程,在工作之前检测和提取条形码——WinForms c#教程。
从项目中创建的副本显示图像的图像查看器教程。如果项目不可用,按照这个教程中的步骤创建它。
的引用需要取决于项目的目的。引用可以通过添加一个或另一个下面的两种方法(但不是全部)。对于这个项目,还需要以下引用:
如果使用NuGet引用,本教程需要以下NuGet包:
Leadtools.Barcode
Leadtools.Formats.Raster.Common
Leadtools.Viewer.Controls.WinForms
如果使用本地DLL的引用,下面的DLL是必要的。dll位于< INSTALL_DIR > \ LEADTOOLS22 \ Bin \ Dotnet4 \ x64
:
Leadtools.Barcode.dll
Leadtools.Barcode.OneD.dll
Leadtools.dll
Leadtools.Codecs.dll
Leadtools.Codecs.Cmp.dll
Leadtools.Codecs.Fax.dll
Leadtools.Codecs.Tif.dll
Leadtools.Controls.WinForms.dll
对于一个完整的列表的编解码器dll需要特定的格式,请参考文件格式的支持。
许可解锁项目需要的特性。它必须设置工具箱函数被调用之前。详情,包括教程为不同的平台,请参考设置一个运行时许可。
有两种类型的运行时许可证:
请注意
添加LEADTOOLS NuGet和本地引用设置许可中会详细介绍添加引用和设置一个许可证教程。
与项目创建、添加引用,许可,图像查看器初始化,和加载图像添加代码,代码就可以开始了。
开放Form1.cs
在解决方案资源管理器。添加一个新的下拉菜单标题条形码旁边的,文件菜单下拉。添加一个新的菜单项新的下拉标题读取条形码。新项目的名称readBarcodeToolStripMenuItem
。双击读取条形码菜单项来创建它的点击事件处理程序。
确保以下using语句使用块顶部。
使用系统;
使用System.Drawing;
使用System.Windows.Forms;
使用先;
使用Leadtools;
使用Leadtools.Controls;
使用Leadtools.Codecs;
使用Leadtools.Barcode;
添加以下代码Form1_Load
在适合放大显示加载图像模式,这将使它更容易看到公认的条形码。
私人无效Form1_Load (对象发送方的EventArgs e)
{
/ /……
/ /添加以下行低于现有的代码
_viewer.Zoom (ControlSizeMode。健康,1.0,新LeadPoint ());
}
将下面的代码添加到readBarcodeToolStripMenuItem_Click
方法来检测和提取每个条码图像的图像查看器:
私人无效readBarcodeToolStripMenuItem_Click (对象发送方的EventArgs e)
{
试一试
{
如果(_view。形象! =零)
{
BarcodeEngine barcodeEngineInstance =新BarcodeEngine ();
BarcodeData [] dataArray = barcodeEngineInstance.Reader.ReadBarcodes (_view。形象,LeadRect。空的,0,零);
MessageBox.Show ($“{dataArray.Length.ToString()}条形码(s)发现“);
图g = _viewer.CreateGraphics ();
为(int我= 0;我< dataArray.Length;我+ +)
{
BarcodeData data = dataArray[我];
/ /图像边界坐标转换成控制
LeadRect barcodeLeadRect = _viewer.ConvertRect (_view。ActiveItem ImageViewerCoordinateType。形象,ImageViewerCoordinateType。控制,data.Bounds);
/ /画蓝色矩形为每一个观众
g.DrawRectangle (新笔(颜色。红色,4.0 f), barcodeLeadRect。X, barcodeLeadRect。Y, barcodeLeadRect。宽度,barcodeLeadRect.Height);
/ /显示条码信息
MessageBox.Show ($“符号学:{data.Symbology.ToString()},地点:{data.Bounds.ToString()},数据:{data.Value}”);
/ /重新油漆的观众将矩形
_viewer.Refresh ();
}
}
其他的
MessageBox.Show (“加载图像第一!”);
}
抓(异常交货)
{
MessageBox.Show (ex.Message);
}
}
按运行项目F5,或通过选择调试- >开始调试。
如果是正确的步骤,应用程序将能够识别所有条形码图像查看器中加载。当读取条形码被按下时,应用程序将显示一个消息框显示条形码检测的数量和周期通过每一个显示一个红色的长方形和一个消息框,其中包含相关的条形码信息。
您可以测试使用barcode1.tif
测试文件C: \ LEADTOOLS22 \ \图片资源
。
本教程展示了如何读取条形码信息和显示结果在WinForms应用程序使用LEADTOOLS SDK。