翻譯|使用教程|編輯:胡濤|2023-01-04 10:09:33.047|閱讀 169 次
概述:本教程介紹如何創(chuàng)建一個(gè) C# Windows 控制臺(tái)應(yīng)用程序,該應(yīng)用程序使用BarcodeEngine和BarcodeReader類從圖像中讀取條形碼并將其數(shù)據(jù)顯示在控制臺(tái)上。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
LEADTOOLS是一個(gè)綜合工具包的集合,用于將識(shí)別、文檔、醫(yī)療、成像和多媒體技術(shù)整合到桌面、服務(wù)器、平板電腦、網(wǎng)絡(luò)和移動(dòng)解決方案中,是一項(xiàng)企業(yè)級(jí)文檔自動(dòng)化解決方案,有捕捉,OCR,OMR,表單識(shí)別和處理,PDF,打印捕獲,歸檔,注釋和顯示功能。利用業(yè)界領(lǐng)先的圖像處理技術(shù),能夠智能識(shí)別文件,可以用來識(shí)別任何類型的掃描或傳真形式的圖像。
本教程介紹如何創(chuàng)建一個(gè) C# Windows 控制臺(tái)應(yīng)用程序,該應(yīng)用程序使用BarcodeEngine和BarcodeReader類從圖像中讀取條形碼并將其數(shù)據(jù)顯示在控制臺(tái)上。
| 概述 | |
|---|---|
| 概括 | 本教程介紹如何在 C# Windows 控制臺(tái)應(yīng)用程序中使用BarcodeReader類。 | 
| 完成時(shí)間 | 30分鐘 | 
| 視覺工作室項(xiàng)目 | |
| 平臺(tái) | C# Windows 控制臺(tái)應(yīng)用程序 | 
| 集成開發(fā)環(huán)境 | 視覺工作室 2017、2019 | 
| 開發(fā)許可 | 下載 LEADTOOLS | 
| 用另一種語言試試 | 
 | 
在學(xué)習(xí)檢測(cè)和提取條碼 - 控制臺(tái) C#教程之前,通過查看添加引用和設(shè)置許可證教程熟悉創(chuàng)建項(xiàng)目的基本步驟。
在 Visual Studio 中,創(chuàng)建一個(gè)新的 C# Windows 控制臺(tái)項(xiàng)目,并添加以下必要的 LEADTOOLS 引用。
所需的參考取決于項(xiàng)目的目的。可以通過以下兩種方法之一(但不能同時(shí)使用)添加引用。對(duì)于這個(gè)項(xiàng)目,需要以下參考資料:
如果正在使用 NuGet 引用,則本教程需要以下 NuGet 包:
如果正在使用本地引用,本教程需要以下本地 DLL,它們位于<INSTALL_DIR>\LEADTOOLS22\Bin\Dotnet4\x64
筆記
添加引用和設(shè)置許可教程提供了有關(guān)使用添加 LEADTOOLS 引用的任一方法的詳細(xì)說明。
有關(guān)特定格式需要哪些編解碼器 DLL 的完整列表,請(qǐng)參閱
設(shè)置許可證文件
許可證解鎖項(xiàng)目所需的功能。它必須在調(diào)用任何工具包函數(shù)之前設(shè)置。有關(guān)詳細(xì)信息,包括針對(duì)不同平臺(tái)的教程,請(qǐng)參閱設(shè)置運(yùn)行時(shí)許可證。
有兩種類型的運(yùn)行時(shí)許可證:
筆記
添加 LEADTOOLS NuGet 和本地引用以及設(shè)置許可證在添加引用和設(shè)置許可證教程 中有更詳細(xì)的介紹。
創(chuàng)建項(xiàng)目、添加參考和設(shè)置許可證后,就可以開始編碼了。
Program.cs在解決方案資源管理器中打開。在 Program 類中,添加一個(gè)名為ReadBarcode(RasterImage image).
然后使用文件名加載條形碼圖像,并調(diào)用ReadBarcode(RasterImage image).
[C#]
// Using block at the top using System; using System.Text; using Leadtools; using Leadtools.Codecs; using Leadtools.Barcode; using System.IO;
[C#]
static void Main(string[] args)
{
SetLicense();
string filename = @"C:\LEADTOOLS22\Resources\Images\barcode1.tif";
RasterImage image = LoadImage(filename);
ReadBarcode(image);
}
static RasterImage LoadImage(string filename)
{
using (RasterCodecs codecs = new RasterCodecs())
return codecs.Load(filename);
}
[C#]
static void ReadBarcode(RasterImage image)
{
BarcodeEngine barcodeEngineInstance = new BarcodeEngine();
try
{
BarcodeData[] dataArray = barcodeEngineInstance.Reader.ReadBarcodes(image, LeadRect.Empty, 0, null);
StringBuilder sb = new StringBuilder();
sb.AppendFormat("{0} barcode(s) found", dataArray.Length);
sb.AppendLine();
for (int i = 0; i < dataArray.Length; i++)
{
BarcodeData data = dataArray[i];
sb.AppendFormat("Symbology: {0}, Location: {1}, Data: {2}", data.Symbology.ToString(), data.Bounds.ToString(), data.Value);
sb.AppendLine();
}
Console.WriteLine(sb.ToString());
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
Console.ReadLine();
}
要利用MemoryStream,請(qǐng)將方法中的現(xiàn)有代碼替換為LoadImage()以下代碼:
[C#]
static RasterImage LoadImage(string filename)
{
using (RasterCodecs codecs = new RasterCodecs())
{
byte[] bytes = File.ReadAllBytes(filename);
MemoryStream ms = new MemoryStream(bytes);
return codecs.Load(ms);
}
}
按F5或選擇Debug -> Start Debugging運(yùn)行項(xiàng)目。
如果正確執(zhí)行了這些步驟,應(yīng)用程序應(yīng)該可以正常運(yùn)行并且控制臺(tái)應(yīng)該從 LEADTOOLS 測(cè)試文件輸出所有相關(guān)的條形碼信息,barcode1.tif.
	 
以上便是如何檢測(cè)和提取條形碼 ,如果您還有其他疑問,歡迎咨詢我們或者加入我們官方技術(shù)交流群。
歡迎下載|體驗(yàn)更多LEADTOOL產(chǎn)品
	您還可以加入產(chǎn)品技術(shù)交流Q群:731259648
  
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn