VintaSoft Barcode .NET SDK 14.3: Documentation for .NET developer
Vintasoft.Barcode Namespace / BarcodeReader Class / ReadBarcodes Methods / ReadBarcodes(VintasoftBitmap) Method
Syntax Example Requirements SeeAlso
In This Topic
    ReadBarcodes(VintasoftBitmap) Method (BarcodeReader)
    In This Topic
    Reads barcodes from the specified bitmap.
    Syntax

    Parameters

    bitmap
    The bitmap.

    Return Value

    An array of IBarcodeInfo objects which contains information about recognized barcodes.
    Example

    Here is a simple example that demonstrates how to detect barcodes in an image.

       
       
    Imports Vintasoft.Imaging   
       
    Imports Vintasoft.Barcode   
    Imports Vintasoft.Barcode.SymbologySubsets   
       
    ''' <summary>
    ''' Test that shows how read barcodes from image using the BarcodeReader class.
    ''' </summary>
    Class ReadBarcodesFromImageExample   
       
        ''' <summary>
        ''' Runs the test.
        ''' </summary>
        Public Shared Sub Test()   
            ' load image from file
            Using barcodeImage As VintasoftBitmap = ImageCodecs.[Default].Decode("test1.jpg")   
                ' read barcodes from image
                ReadBarcodes(barcodeImage)   
            End Using   
        End Sub   
       
        ''' <summary>
        ''' Reads barcodes from image.
        ''' </summary>
        Private Shared Sub ReadBarcodes(barcodeImage As VintasoftBitmap)   
            ' create barcode reader
            Using reader As New BarcodeReader()   
                ' specify that reader must search for Code39, Code39Extended,
                ' Code128, SSCC18 and DataMatrix barcodes
                reader.Settings.ScanBarcodeTypes = BarcodeType.Code39 Or BarcodeType.Code128 Or BarcodeType.DataMatrix   
                reader.Settings.ScanBarcodeSubsets.Add(BarcodeSymbologySubsets.Code39Extended)   
                reader.Settings.ScanBarcodeSubsets.Add(BarcodeSymbologySubsets.SSCC18)   
       
                ' read barcodes from image
                Dim infos As IBarcodeInfo() = reader.ReadBarcodes(barcodeImage)   
       
                ' show barcode recognition results
       
                Console.WriteLine(String.Format("Recognition time {0} ms.", reader.RecognizeTime.TotalMilliseconds))   
       
                If infos.Length = 0 Then   
                    Console.WriteLine("No barcodes found.")   
                Else   
                    Console.WriteLine(String.Format("{0} barcodes found:", infos.Length))   
                    Console.WriteLine()   
                    For i As Integer = 0 To infos.Length - 1   
                        Dim info As IBarcodeInfo = infos(i)   
                        Console.WriteLine(String.Format("[{0}:{1}]", i, info.BarcodeType))   
                        Console.WriteLine(String.Format("Value:      {0}", info.Value))   
                        Console.WriteLine(String.Format("Confidence: {0}%", Math.Round(info.Confidence)))   
                        Console.WriteLine(String.Format("Threshold:  {0}", info.Threshold))   
                        Console.WriteLine(String.Format("Region:     {0}", info.Region))   
                        Console.WriteLine()   
                    Next   
                End If   
            End Using   
        End Sub   
       
    End Class
    
    
    
    using System;
    
    using Vintasoft.Imaging;
    
    using Vintasoft.Barcode;
    using Vintasoft.Barcode.SymbologySubsets;
    
    /// <summary>
    /// Test that shows how read barcodes from image using the BarcodeReader class.
    /// </summary>
    class ReadBarcodesFromImageExample
    {
    
        /// <summary>
        /// Runs the test.
        /// </summary>
        public static void Test()
        {
            // load image from file
            using (VintasoftBitmap barcodeImage = ImageCodecs.Default.Decode("test1.jpg"))
            {
                // read barcodes from image
                ReadBarcodes(barcodeImage);
            }
        }
        
        /// <summary>
        /// Reads barcodes from image.
        /// </summary>
        static void ReadBarcodes(VintasoftBitmap barcodeImage)
        {
            // create barcode reader
            using (BarcodeReader reader = new BarcodeReader())
            {
                // specify that reader must search for Code39, Code39Extended,
                // Code128, SSCC18 and DataMatrix barcodes
                reader.Settings.ScanBarcodeTypes =
                    BarcodeType.Code39 |
                    BarcodeType.Code128 |
                    BarcodeType.DataMatrix;
                reader.Settings.ScanBarcodeSubsets.Add(BarcodeSymbologySubsets.Code39Extended);
                reader.Settings.ScanBarcodeSubsets.Add(BarcodeSymbologySubsets.SSCC18);
    
                // read barcodes from image
                IBarcodeInfo[] infos = reader.ReadBarcodes(barcodeImage);
    
                // show barcode recognition results
    
                Console.WriteLine(string.Format("Recognition time {0} ms.",
                    reader.RecognizeTime.TotalMilliseconds));
    
                if (infos.Length == 0)
                {
                    Console.WriteLine("No barcodes found.");
                }
                else
                {
                    Console.WriteLine(string.Format("{0} barcodes found:", infos.Length));
                    Console.WriteLine();
                    for (int i = 0; i < infos.Length; i++)
                    {
                        IBarcodeInfo info = infos[i];
                        Console.WriteLine(string.Format("[{0}:{1}]", i, info.BarcodeType));
                        Console.WriteLine(string.Format("Value:      {0}", info.Value));
                        Console.WriteLine(string.Format("Confidence: {0}%", Math.Round(info.Confidence)));
                        Console.WriteLine(string.Format("Threshold:  {0}", info.Threshold));
                        Console.WriteLine(string.Format("Region:     {0}", info.Region));
                        Console.WriteLine();
                    }
                }
            }
        }
    
    }
    
    

    Requirements

    Target Platforms: .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

    See Also