←Select platform

BarcodeEngine Class

Summary

Main class for the LEADTOOLS support for reading and writing barcodes.

Syntax
C#
VB
Objective-C
C++
Java
public class BarcodeEngine 
Public Class BarcodeEngine  
@interface LTBarcodeEngine : NSObject 
public class BarcodeEngine 
public ref class BarcodeEngine  

Remarks

The BarcodeEngine class is the main entry point for LEADTOOLS support for barcode reading and writing.

This class contains the following members:

This class also contains the following helper static (Shared in VB) methods:

To start using LEADTOOLS barcode support, first create an instance of BarcodeEngine. This will automatically create the BarcodeReader and BarcodeWriter objects for you. You can then access those objects through BarcodeEngine.Reader and BarcodeEngine.Writer to start reading or writing barcodes.

All these objects are thread-safe and you can pass the same BarcodeEngine, BarcodeReader or BarcodeWriter object to multiple threads. Additionally, you may read or write barcodes at the same time from/to different images and also create a separate BarcodeEngine for each thread if required. The BarcodeReader.ReadBarcodes(RasterImage image, LeadRect searchBounds, int maximumBarcodes, BarcodeSymbology[] symbologies, BarcodeReadOptions[] options) example shows how to create two threads: One for reading horizontal barcodes and one for reading vertical barcodes. It will then use the same BarcodeReader to try and read all the barcodes from an image using both threads.

For a list of the barcode symbologies supported by LEADTOOLS, refer to Supported Barcode Symbologies.

For tutorials on using LEADTOOLS barcode support, refer to Reading Barcodes Tutorial and Writing Barcodes Tutorial.

Example

This example creates a new BarcodeEngine and reads all the barcodes in an image. For an example on writing barcodes, refer to BarcodeWriter.

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Barcode; 
using Leadtools.ImageProcessing; 
 
public void BarcodeEngine_Example() 
{ 
   string[] imageFileNames = 
   { 
      Path.Combine(LEAD_VARS.ImagesDir, "Barcode1.tif"), 
      Path.Combine(LEAD_VARS.ImagesDir, "Barcode2.tif") 
   }; 
 
   // Create a Barcode engine 
   BarcodeEngine engine = new BarcodeEngine(); 
 
   // Load the image 
   using (RasterCodecs codecs = new RasterCodecs()) 
   { 
      foreach (string imageFileName in imageFileNames) 
      { 
         using (RasterImage image = codecs.Load(imageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)) 
         { 
            // Read all the barcodes in this image 
            BarcodeData[] barcodes = engine.Reader.ReadBarcodes(image, LeadRect.Empty, 0, null); 
 
            // Print out the barcodes we found 
            Console.WriteLine("{0} contains {1} barcodes", imageFileName, barcodes.Length); 
            for (int i = 0; i < barcodes.Length; i++) 
            { 
               BarcodeData barcode = barcodes[i]; 
               Console.WriteLine("  {0} - {1} - {2}", i + 1, barcode.Symbology, barcode.Value); 
            } 
            Console.WriteLine("-----------------"); 
         } 
      } 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Barcode 
Imports Leadtools.ImageProcessing 
 
Public Sub BarcodeEngine_Example() 
   Dim imageFileNames() As String = 
   { 
      Path.Combine(LEAD_VARS.ImagesDir, "Barcode1.tif"), 
      Path.Combine(LEAD_VARS.ImagesDir, "Barcode2.tif") 
   } 
 
   ' Create a Barcode engine 
   Dim engine As New BarcodeEngine() 
 
   ' Load the image 
   Using codecs As New RasterCodecs() 
      For Each imageFileName As String In imageFileNames 
         Using image As RasterImage = codecs.Load(imageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1) 
            ' Read all the barcodes in this image 
            Dim barcodes() As BarcodeData = engine.Reader.ReadBarcodes(image, LeadRect.Empty, 0, Nothing) 
 
            ' Print out the barcodes we found 
            Console.WriteLine("{0} contains {1} barcodes", imageFileName, barcodes.Length) 
            For i As Integer = 0 To barcodes.Length - 1 
               Dim barcode As BarcodeData = barcodes(i) 
               Console.WriteLine("  {0} - {1} - {2}", i + 1, barcode.Symbology, barcode.Value) 
            Next 
            Console.WriteLine("-----------------") 
         End Using 
      Next 
   End Using 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 
c#[Silverlight C# Example] 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Forms; 
using Leadtools.Barcode; 
using Leadtools.ImageProcessing; 
using Leadtools.Examples; 
 
public void BarcodeEngine_Example(RasterImage image, string imageFileName) 
{ 
   // Create a Barcode engine 
   BarcodeEngine engine = new BarcodeEngine(); 
 
   // Load the image 
   RasterCodecs codecs = new RasterCodecs(); 
 
   // Read all the barcodes in this image 
   BarcodeData[] barcodes = engine.Reader.ReadBarcodes(image, LogicalRectangle.Empty, 0, null); 
 
   // Print out the barcodes we found 
   Console.WriteLine("{0} contains {1} barcodes", imageFileName, barcodes.Length); 
   for (int i = 0; i < barcodes.Length; i++) 
   { 
      BarcodeData barcode = barcodes[i]; 
      Console.WriteLine("  {0} - {1} - {2}", i + 1, barcode.Symbology, barcode.Value); 
   } 
   Console.WriteLine("-----------------"); 
} 
vb[Silverlight VB Example] 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Forms 
Imports Leadtools.Barcode 
Imports Leadtools.ImageProcessing 
 
Public Sub BarcodeEngine_Example(ByVal image As RasterImage, ByVal imageFileName As String) 
   ' Create a Barcode engine 
   Dim engine As BarcodeEngine = New BarcodeEngine() 
 
   ' Load the image 
   Dim codecs As RasterCodecs = New RasterCodecs() 
 
   ' Read all the barcodes in this image 
   Dim barcodes As BarcodeData() = engine.Reader.ReadBarcodes(image, LogicalRectangle.Empty, 0, Nothing) 
 
   ' Print out the barcodes we found 
   Console.WriteLine("{0} contains {1} barcodes", imageFileName, barcodes.Length) 
   Dim i As Integer = 0 
   Do While i < barcodes.Length 
      Dim barcode As BarcodeData = barcodes(i) 
      Console.WriteLine("  {0} - {1} - {2}", i + 1, barcode.Symbology, barcode.Value) 
      i += 1 
   Loop 
   Console.WriteLine("-----------------") 
End Sub 

Requirements

Target Platforms

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Barcode Assembly