public BarcodeReadSymbologyOperation Operation { get; }
A BarcodeReadSymbologyOperation enumeration member that specifies the current barcode read operation.
The value of Operation is set by the BarcodeReader object as follows:
| Value | Description |
|---|---|
| BarcodeReadSymbologyOperation.PreRead |
The BarcodeReader object is about to read the barcode symbologies in GetSymbologies. The input parameters are: The symbologies to be read can be obtained through the GetSymbologies method and the associated read options are in the Options property. |
| BarcodeReadSymbologyOperation.PostRead |
The BarcodeReader has finished reading the barcode symbologies. The input parameters are: The symbologies to be read can be obtained through the GetSymbologies method and the associated read options are in the Options property. The resulting parameters are: The barcode data found which is in the Data property and may contain a valid BarcodeData object or null (Nothing in Visual Basic) when an error occurs or no barcode of this type is found. In case of an error, the exception is in the Error property (Refer to BarcodeReader.ErrorMode for more information). |
using Leadtools;using Leadtools.Codecs;using Leadtools.Barcode;using Leadtools.ImageProcessing;public void BarcodeReader_ReadSymbologyExample(){string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "Barcode1.tif");// Create a Barcode engineBarcodeEngine engine = new BarcodeEngine();// Get the Barcode reader instanceBarcodeReader reader = engine.Reader;// Load the imageusing (RasterCodecs codecs = new RasterCodecs()){using (RasterImage image = codecs.Load(imageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)){// Subscribe to the ReadSymbology eventreader.ReadSymbology += new EventHandler<BarcodeReadSymbologyEventArgs>(reader_ReadSymbology);// Read all barcodes in the imagereader.ReadBarcodes(image, LeadRect.Empty, 0, null);reader.ReadSymbology -= new EventHandler<BarcodeReadSymbologyEventArgs>(reader_ReadSymbology);}}}private void reader_ReadSymbology(object sender, BarcodeReadSymbologyEventArgs e){if (e.Operation == BarcodeReadSymbologyOperation.PreRead){// Before reading, show the symbologies the engine is going to try to readConsole.WriteLine("Trying to read the following symbologies:");BarcodeSymbology[] symbologies = e.GetSymbologies();for (int i = 0; i < symbologies.Length; i++){Console.Write(symbologies[i]);if (i != (symbologies.Length - 1)){Console.Write(", ");Console.WriteLine(e.Options.FriendlyName);}else{Console.WriteLine();}}}else if (e.Operation == BarcodeReadSymbologyOperation.PostRead){if (e.Error == null){// No errorsBarcodeData barcode = e.Data;if (barcode != null){// Found a barcode, show itConsole.WriteLine(" {0} at {1} with data {2}", barcode.Symbology, barcode.Bounds, barcode.Value);}else{Console.WriteLine(" No barcodes found");}}else{// Show the errorConsole.WriteLine("Error: {0}", e.Error.Message);// Tell the reader top stop reading barcodese.Status = BarcodeReadSymbologyStatus.Abort;}}}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";}