GdPicture.NET.14.API
GdPicture14 Namespace / GdPictureImaging Class / BarcodeDataMatrixReaderDoScan Method / BarcodeDataMatrixReaderDoScan(Int32,BarcodeDataMatrixReaderScanMode) Method
A unique image identifier of the GdPicture image representing the image in use.
A member of the BarcodeDataMatrixReaderScanMode enumeration. The scan mode (speed or quality) used for scanning process.
Example





In This Topic
BarcodeDataMatrixReaderDoScan(Int32,BarcodeDataMatrixReaderScanMode) Method
In This Topic
Starts a barcode recognition process on a specified GdPicture image or on an area of a specified GdPicture image defined by the GdPictureImaging.SetROI method.
Syntax
'Declaration
 
Public Overloads Function BarcodeDataMatrixReaderDoScan( _
   ByVal ImageID As Integer, _
   ByVal ScanMode As BarcodeDataMatrixReaderScanMode _
) As GdPictureStatus
public GdPictureStatus BarcodeDataMatrixReaderDoScan( 
   int ImageID,
   BarcodeDataMatrixReaderScanMode ScanMode
)
public function BarcodeDataMatrixReaderDoScan( 
    ImageID: Integer;
    ScanMode: BarcodeDataMatrixReaderScanMode
): GdPictureStatus; 
public function BarcodeDataMatrixReaderDoScan( 
   ImageID : int,
   ScanMode : BarcodeDataMatrixReaderScanMode
) : GdPictureStatus;
public: GdPictureStatus BarcodeDataMatrixReaderDoScan( 
   int ImageID,
   BarcodeDataMatrixReaderScanMode ScanMode
) 
public:
GdPictureStatus BarcodeDataMatrixReaderDoScan( 
   int ImageID,
   BarcodeDataMatrixReaderScanMode ScanMode
) 

Parameters

ImageID
A unique image identifier of the GdPicture image representing the image in use.
ScanMode
A member of the BarcodeDataMatrixReaderScanMode enumeration. The scan mode (speed or quality) used for scanning process.

Return Value

A member of the GdPictureStatus enumeration. If the method has been successfully followed, then the return value is GdPictureStatus.OK. We strongly recommend always checking this status first.
Remarks
This method will try to detect all available barcodes. You can use the GdPictureImaging.BarcodeDataMatrixReaderDoScan method and set the ExpectedCount to 1 and StopOnExpectedCount to true, to stop the recognition process after the first barcode was found.

For more details, please refer to our Barcode Recognition Sample included in the installation folder that demonstrates the usage of this method.

Example
Finding DataMatrix barcodes in an image and writes complete barcodes info into a file.
using (GdPictureImaging gdpictureImaging = new GdPictureImaging())
{
    int imageID = gdpictureImaging.CreateGdPictureImageFromFile("image.jpg", false);
            
    // Perform scanning at best speed, ignoring very damaged barcodes.
    BarcodeDataMatrixReaderScanMode mode = BarcodeDataMatrixReaderScanMode.BestSpeed;
 
    // Start the DataMatrix barcode scanning process and look for all barcodes.
    gdpictureImaging.BarcodeDataMatrixReaderDoScan(imageID, mode);
 
    // Write all available info into a text file.
    using (System.IO.StreamWriter file = new System.IO.StreamWriter("DataMatrix.txt"))
    {
        int barcodesFound = gdpictureImaging.BarcodeDataMatrixReaderGetBarcodeCount();
 
        for (int i = 1; i <= barcodesFound; i++)
        {
            // Decoded information.
            file.WriteLine("Decoded info = " + gdpictureImaging.BarcodeDataMatrixReaderGetBarcodeValue(i));
 
            // The skew angle of the barcode, in degrees.
            file.WriteLine("Skew angle = " + gdpictureImaging.BarcodeDataMatrixReaderGetBarcodeSkewAngle(i));
 
            // The number of rows of the barcode.
            file.WriteLine("Rows = " + gdpictureImaging.BarcodeDataMatrixReaderGetBarcodeRows(i));
 
            // The number of columns of the barcode.
            file.WriteLine("Columns = " + gdpictureImaging.BarcodeDataMatrixReaderGetBarcodeColumns(i));
 
            // The raw bytes decoded. It was post-processed to find the correct decoded info based on detected Encoding.
            file.WriteLine("Raw bytes = " + gdpictureImaging.BarcodeDataMatrixReaderGetBarcodeValueRAW(i));
 
            // The barcode position, given by the coordinates of the corners.
            file.WriteLine("Position =  Top-Left=["
                + gdpictureImaging.BarcodeDataMatrixReaderGetBarcodeX1(i) + ", " + gdpictureImaging.BarcodeDataMatrixReaderGetBarcodeY1(i)
                + "] Top-Right=[" + gdpictureImaging.BarcodeDataMatrixReaderGetBarcodeX2(i) + ", " + gdpictureImaging.BarcodeDataMatrixReaderGetBarcodeY2(i)
                + "] Bottom-Right=[" + gdpictureImaging.BarcodeDataMatrixReaderGetBarcodeX3(i) + ", " + gdpictureImaging.BarcodeDataMatrixReaderGetBarcodeY3(i)
                + "] Bottom-Left=[" + gdpictureImaging.BarcodeDataMatrixReaderGetBarcodeX4(i) + ", " + gdpictureImaging.BarcodeDataMatrixReaderGetBarcodeY4(i) + "]");
        }
    }
 
    // Release used resources.
    gdpictureImaging.BarcodeDataMatrixReaderClear();
    gdpictureImaging.ReleaseGdPictureImage(imageID);
}
See Also