public BarcodeSearchDirection SearchDirection { get; set; }
An BarcodeSearchDirection enumeration member that indicate the direction to use when searching for barcodes. The default value is BarcodeSearchDirection.Horizontal.
The BarcodeReader class can search for barcodes in the image horizontally or vertically. By default, the reader will only search for barcodes horizontally as there are performance advantages. Alter this, by changing the appropriate read barcode options to specify vertical or both (horizontal and vertical) search direction.
using Leadtools;using Leadtools.Codecs;using Leadtools.Barcode;using Leadtools.ImageProcessing;public void GS1DatabarStackedBarcode_Example(){string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "MyGS1DatabarStackedBarcodes.tif");BarcodeEngine engine = new BarcodeEngine();// Create the image to write the barcodes toint resolution = 300;using (RasterImage image = RasterImage.Create((int)(8.5 * resolution), (int)(11.0 * resolution), 1, resolution, RasterColor.FromKnownColor(RasterKnownColor.White))){// Write a few GS1 Databar Stacked barcodesWriteBarcode(engine.Writer, image, BarcodeSymbology.GS1DatabarStacked, "1234567890123", new LeadRect(10, 100, 400, 400));WriteBarcode(engine.Writer, image, BarcodeSymbology.GS1DatabarExpandedStacked, "(01)00012345678905(10)ABC123", new LeadRect(10, 900, 400, 400));// Save the imageusing (RasterCodecs codecs = new RasterCodecs()){codecs.Save(image, imageFileName, RasterImageFormat.CcittGroup4, 1);}}// Now read the barcodes againusing (RasterCodecs codecs = new RasterCodecs()){using (RasterImage image = codecs.Load(imageFileName)){// Read the GS1 Databar Stacked barcodeReadBarcodes(engine.Reader, image, BarcodeSymbology.GS1DatabarStacked);// Read the GS1 Databar Expanded Stacked barcodeReadBarcodes(engine.Reader, image, BarcodeSymbology.GS1DatabarExpandedStacked);}}}private void WriteBarcode(BarcodeWriter writer, RasterImage image, BarcodeSymbology symbology, string value, LeadRect bounds){// Create the barcode dataBarcodeData barcode = new BarcodeData(symbology, value);barcode.Bounds = bounds;// Set the write optionsGS1DatabarStackedBarcodeWriteOptions options = new GS1DatabarStackedBarcodeWriteOptions();options.UseXModule = false;options.XModule = 30;options.SetLinkageBit = false;options.UseStackedOmniDirectionalFormat = false;options.ExpandedStackedRowsCount = 2;// Write itConsole.WriteLine("Writing {0} barcode with data: {1}", symbology, value);writer.WriteBarcode(image, barcode, options);}private void ReadBarcodes(BarcodeReader reader, RasterImage image, BarcodeSymbology symbology){// Setup read optionsGS1DatabarStackedBarcodeReadOptions options = new GS1DatabarStackedBarcodeReadOptions();options.SearchDirection = BarcodeSearchDirection.Horizontal;options.EnableFastMode = true;options.Granularity = 9;options.ReturnCheckDigit = BarcodeReturnCheckDigit.Default;Console.WriteLine("Reading {0} barcodes", symbology);BarcodeData barcode = reader.ReadBarcode(image, LeadRect.Empty, symbology, options);if (barcode != null){Console.WriteLine(" At {0}, data: {1}", barcode.Bounds, barcode.Value);}else{Console.WriteLine(" Not found");}}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";}