检测和提取条形码- Windows C DLL

本教程展示如何在Windows C/ c++ API应用程序中使用LEADTOOLS SDK从加载的图像中读取条形码信息。

概述
总结 本教程介绍如何使用BARCODEDATA结构在Windows C DLL应用程序。
完成时间 30分钟
Visual Studio项目 下载教程项目(19kb)
平台 Windows C DLL应用程序
IDE Visual Studio 2017, 2019
开发许可 下载LEADTOOLS
用另一种语言试试

所需的知识

在开始之前检测和提取条形码- Windows C DLL教程,熟悉创建项目和加载/显示图像的基本步骤添加引用和设置License而且加载、显示和保存图像教程。

创建项目并添加LEADTOOLS引用

中创建的64位Windows API项目的副本加载、显示和保存图像教程。如果项目不可用,请按照该教程中的步骤创建它。

要使用LEADTOOLS读取条形码,请添加所需的头文件和DLL文件。打开预编译的头文件(或pch.hstdafx.h,取决于所使用的Visual Studio版本),并添加以下行:

# include“C: \ LEADTOOLS22 \ \ Ltbar.h包括”#pragma comment (lib,“C: \ \ LEADTOOLS22 \ \ Lib \ \ CDLL \ \ x64 \ \ Ltbar_x.lib”//条码支持

请注意

有关应用程序所需的dll的完整列表,请参阅包含在应用程序中的文件- C API

设置License文件

许可证解锁项目所需的特性。它必须在调用任何工具箱功能之前设置。有关详细信息,包括针对不同平台的教程,请参阅设置运行时License

有两种类型的运行时许可证:

请注意

中更详细地介绍了添加LEADTOOLS引用和设置许可添加引用和设置License教程。

添加条形码阅读器代码

随着项目的创建、引用的添加、许可证的设置和加载图像代码的添加,编码就可以开始了。

以下步骤适用于Visual Studio 2019;对于Visual Studio的其他版本,它们可能有所不同。

解决方案资源管理器双击资源文件(.rc)。

添加一个新的条形码菜单旁边的下拉菜单文件菜单。在新增的条形码菜单,添加读取条形码(s)菜单项。新项目的ID应该是ID_BARCODE_READBARCODE

指向函数,和下开关(wmId)语句的下面WM_COMMANDCase,添加一个新的Case:

开关(wmId)情况下ID_BARCODE_READBARCODE:如果(LEADBmp.Flags.Allocated)ReadBarcodes (hWnd);其他的对话框(hWnd,文本(“无法阅读条形码。未加载图像”),文本(“条形码演示”), MB_ICONERROR);打破//保留其余的代码

添加一个新的ReadBarcodes函数,它可以放在指向功能:

无效ReadBarcodes (HWND HWND)如果(L_BarCodeInit(BARCODES_1D) != SUCCESS)返回pBARCODEDATA pBarCodes = NULL;Bar1d Bar1d = {0};Bar1d。uStructSize =运算符BARCODE1D;Bar1d。bErrorCheck = TRUE;Bar1d。nGranularity = 9;Bar1d。nDirection = BARCODE_DIR_HORIZONTAL;BARCODECOLOR BarColor = {0};BarColor。uStructSize =运算符BARCODECOLOR;BarColor。dwColorBar = RGB(0,0,0);BarColor。dwColorSpace = RGB(255, 255, 255);//搜索enite位图中的所有1D条形码L_INT nRet = L_BarCodeRead(&LEADBmp, NULL, BARCODE_1D_READ_ANYTYPE, BARCODE_SCANLINES_PER_PIXELS, BARCODE_BLOCK_SEARCH, 0, &Bar1d, NULL, &BarColor, &pBarCodes,运算符BARCODEDATA);如果(SUCCESS == nRet)L_INT nCount = pBarCodes->nTotalCount;L_CHAR * pszMessage =L_CHAR[256 * nCount];零内存(pszMessage, 256 * nCount * .运算符(* pszMessage));(L_INT i = 0;i < nCount;我+ +)L_CHAR szBuffer[256] =""wsprintfA (szBuffer“条形码# % d数据:“% s”,左% d % d,对% d % d \ n \ n”,我,pBarCodes[我].pszBarCodeData,pBarCodes[我].rcBarLocation.left,pBarCodes[我].rcBarLocation.top,pBarCodes[我].rcBarLocation.right,pBarCodes[我].rcBarLocation.bottom);lstrcatA (pszMessage szBuffer);pszMessage MessageBoxA (hwnd,“条形码(s)发现“, MB_ICONINFORMATION);删除[] pszMessage;其他的对话框(hwnd,文本(“无法读取1D条形码”),文本(“条形码演示”), MB_ICONERROR);如果(pBarCodes)L_BarCodeFree (&pBarCodes);L_BarCodeExit ();

运行项目

按下运行项目F5,或选择调试->开始调试

如果正确地执行了这些步骤,应用程序将运行并允许用户进行选择文件->开放加载包含条形码数据的图像。选择条形码->读取条形码(年代)使应用程序运行条形码识别,并从加载的图像中输出所有相关的条形码信息。

请注意

如果没有可用于测试的条形码图像,请使用此文件路径下的图像:C: \ LEADTOOLS22 \ \ \ barcode1.tif图像资源

条码符号识别结果对话框

总结

本教程介绍了如何在Windows API应用程序中使用LEADTOOLS SDK读取条形码信息。它还涵盖了如何使用BARCODEDATA结构,使用L_BarCodeRead函数。

另请参阅

iOS
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2023领德科技有限公司版权所有。