Gets or sets a value indicating whether to enable return the four corners coordinates instead a bounding rectangle.
public bool EnableReturnFourPoints { get; set; } Public Property EnableReturnFourPoints As Boolean true to enable return of four corners. Otherwise, false. The default value is false.
When calling ReadBarcode or ReadBarcodes with the EnableReturnFourPoints property set to true, BarcodeData.Bounds member will be updated with the coordinates of the four corners of the barcode rather than the coordinates of the bounding rectangle. These coordinates are encoded values and must be decoded before they can be used. The following example shows how to decode the four-point corner values:
// Code goes hereusing Leadtools;using Leadtools.Codecs;using Leadtools.Forms;using Leadtools.Barcode;using Leadtools.ImageProcessing;public void BarcodeReader_Example(){string[] imageFileNames ={Path.Combine(LEAD_VARS.ImagesDir, "Barcode1.tif"),Path.Combine(LEAD_VARS.ImagesDir, "Barcode2.tif")};// Create a Barcode engineBarcodeEngine engine = new BarcodeEngine();// Get the Barcode reader instanceBarcodeReader reader = engine.Reader;// Load the imageusing(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 imageBarcodeData[] barcodes = reader.ReadBarcodes(image, LogicalRectangle.Empty, 0, null);// Print out the barcodes we foundConsole.WriteLine("{0} contains {1} barcodes", imageFileName, barcodes.Length);for(int i = 0; i < barcodes.Length; i++){BarcodeData barcode = barcodes[i];Point[] fourPoints = new Point[4];fourPoints[0].X = ((int)barcode.Bounds.Left & 0xffff); fourPoints[0].Y = ((int)barcode.Bounds.Left >> 16);fourPoints[1].X = ((int)barcode.Bounds.Top & 0xffff); fourPoints[1].Y = ((int)barcode.Bounds.Top >> 16);fourPoints[2].X = ((int)barcode.Bounds.Width & 0xffff); fourPoints[2].Y = ((int)barcode.Bounds.Width >> 16);fourPoints[3].X = ((int)barcode.Bounds.Height & 0xffff); fourPoints[3].Y = ((int)barcode.Bounds.Height >> 16);Console.WriteLine(" {0} - {1} - {2}", i + 1, barcode.Symbology, barcode.Value);for(int j = 1; j <=4; j++){Console.WriteLine("Corner #{0} (x,y) : {1},{2} ", j, fourPoints[j].X, fourPoints[j].Y);}}Console.WriteLine("-----------------");}}}}static class LEAD_VARS{public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";}
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
