原創|使用教程|編輯:郝浩|2013-08-16 11:02:05.000|閱讀 688 次
概述:如今,條形碼的使用已經非常普遍,從零售商店到移動設備,無不使用到條形碼。條碼圖像識別開發包LEADTOOLS SDK的高層次的編程接口,使開發人員只需幾行代碼便可識別和編寫條形碼。接下來,我們將利用LEADTOOLS SDK創建一個加載和讀取條形碼的簡單應用程序。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
如今,條形碼的使用已經非常普遍,從零售商店到移動設備,無不使用到條形碼。LEADTOOLS SDK支持讀寫幾乎每種條形碼符號。條碼圖像識別開發包LEADTOOLS SDK的高層次的編程接口,使開發人員只需幾行代碼便可識別和編寫條形碼。正是由于其豐富的條形碼樣式支持,文件清理,表單識別和處理,OCR,TWAIN 掃描等技術,在基于圖像的條形碼應用程序中,LEADTOOLS是不可或缺的。接下來,我們將利用LEADTOOLS SDK創建一個加載和讀取條形碼的簡單應用程序。
準備工作
使用條碼圖像識別開發包LEADTOOLS SDK
首先,通過RasterCodecs對象加載圖像。這個類負責處理所有文件I/O和圖像元數據的功能。你可能會注意到Leadtools.Codecs.Bmp.dll , Leadtools.Codecs.Tif.dll等個別編解碼器文件的引用。這些庫添加了對這些文件格式的支持,因此,如果你想要加載任何附加文件,你需要添加引用到相應的編解碼器,否則你會獲取一個 “Invalid File Format”錯誤。
using (OpenFileDialog ofd = new OpenFileDialog()) { ofd.Filter = "TIFF|*.tif|JPEG|*.jpg|PNG|*.png|BMP|*.bmp|All Files|*.*"; if (ofd.ShowDialog() == DialogResult.OK) { using (RasterCodecs codecs = new RasterCodecs()) { // Load first page into the viewer rasterImageViewer1.Image = codecs.Load(ofd.FileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1); } } }
接下來,利用 BarcodeEngine 對象讀取條形碼。本實例使用了默認的選項來讀取所有水平方向的條形碼,也有一些附加選項用于縮小搜索范圍,條形碼類型和條形碼方向。
// Create a Barcode engine BarcodeEngine engine = new BarcodeEngine(); // Ignore errors in case there are corrupted ones on the image. engine.Reader.ErrorMode = BarcodeReaderErrorMode.IgnoreAll; // Read all barcodes with default options. BarcodeData[] barcodes = engine.Reader.ReadBarcodes(rasterImageViewer1.Image, LogicalRectangle.Empty, 0, null); // Print out the barcodes we found StringBuilder results = new StringBuilder(); results.AppendFormat("{0} barcodes found.\r\n\r\n", barcodes.Length); for (int i = 0; i < barcodes.Length; i++) { BarcodeData barcode = barcodes[i]; results.AppendFormat(" {0} - {1} - {2}\r\n", i + 1, barcode.Symbology, barcode.Value); }
運行示例,圖像顯示在查看器中,并且所有檢測到的條形碼都列在下列文本框中,如下圖所示:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網