Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.6.22
|
Leadtools.Barcode Namespace > BarcodeReader Class > ReadBarcode Method : ReadBarcode(RasterImage,LeadRect,BarcodeSymbology,IBarcodeReadOptions) Method |
public BarcodeData ReadBarcode( RasterImage image, LeadRect searchBounds, BarcodeSymbology symbology, IBarcodeReadOptions options )
'Declaration
Public Overloads Function ReadBarcode( _ ByVal image As RasterImage, _ ByVal searchBounds As LeadRect, _ ByVal symbology As BarcodeSymbology, _ ByVal options As IBarcodeReadOptions _ ) As BarcodeData
'Usage
Dim instance As BarcodeReader Dim image As RasterImage Dim searchBounds As LeadRect Dim symbology As BarcodeSymbology Dim options As IBarcodeReadOptions Dim value As BarcodeData value = instance.ReadBarcode(image, searchBounds, symbology, options)
public BarcodeData ReadBarcode( RasterImage image, LeadRect searchBounds, BarcodeSymbology symbology, IBarcodeReadOptions options )
function Leadtools.Barcode.BarcodeReader.ReadBarcode(RasterImage,LeadRect,BarcodeSymbology,IBarcodeReadOptions)( image , searchBounds , symbology , options )
public: BarcodeData^ ReadBarcode( RasterImage^ image, LeadRect searchBounds, BarcodeSymbology symbology, IBarcodeReadOptions^ options )
Note: In LEADTOOLS for .NET, the equivalent to LeadRect is LogicalRectangle, also the equivalent to IBarcodeReadOptions is BarcodeReadOptions.
This example shows how to use this method to read a single barcode from an image an inverted image with specific options.
using Leadtools; using Leadtools.Codecs; using Leadtools.Barcode; using Leadtools.ImageProcessing; public async Task BarcodeReader_ReadBarcodeExample2() { string imageFileName = @"Assets\Barcode2.tif"; // Create a Barcode engine BarcodeEngine engine = new BarcodeEngine(); // Get the Barcode reader instance BarcodeReader reader = engine.Reader; using(RasterCodecs codecs = new RasterCodecs()) { StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(imageFileName); using(RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile))) { // Invert the image Debug.WriteLine("Inverting the image"); Leadtools.ImageProcessing.Color.InvertCommand invert = new Leadtools.ImageProcessing.Color.InvertCommand(); invert.Run(image); // All barcodes have default options of black foreground color and white background color, so // reading the barcode with default options should not return any barcodes right now // Read the QR barcode from this image using default options Debug.WriteLine("Reading using default options"); BarcodeData barcode = reader.ReadBarcode(image, LeadRectHelper.Empty, BarcodeSymbology.QR, null); // Show its location and data if found // This will print out "Not found" if(barcode != null) { Debug.WriteLine("Found at {0}, data:\n{1}", barcode.Bounds, barcode.Value); } else { Debug.WriteLine("Not found"); } // Now create QR read options to have white foreground color and black background color QRBarcodeReadOptions qrReadOptions = new QRBarcodeReadOptions(); qrReadOptions.ForeColor = RasterColorHelper.FromKnownColor(RasterKnownColor.White); qrReadOptions.BackColor = RasterColorHelper.FromKnownColor(RasterKnownColor.Black); // And use it to try to read the QR barcode again Debug.WriteLine("Reading using specific options that instruct the engine to look for white on black barcodes"); barcode = reader.ReadBarcode(image, LeadRectHelper.Empty, BarcodeSymbology.QR, qrReadOptions); // Show its location and data if found // This will find the barcode and print its information now if(barcode != null) { Debug.WriteLine("Found at {0}, data:\n{1}", barcode.Bounds, barcode.Value); } else { Debug.WriteLine("Not found"); } } } }