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





In This Topic
BarcodeQRReaderDoScan(Int32,BarcodeQRReaderScanMode) 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 SetROI method. Starts a barcode recognition process on a GdPicture image or on an area of a GdPicture image using different parameters according to what you have specified. This method allows you to set the scanning mode parameter according to your preference.
Syntax
'Declaration
 
Public Overloads Function BarcodeQRReaderDoScan( _
   ByVal ImageID As Integer, _
   ByVal ScanMode As BarcodeQRReaderScanMode _
) As GdPictureStatus
public GdPictureStatus BarcodeQRReaderDoScan( 
   int ImageID,
   BarcodeQRReaderScanMode ScanMode
)
public function BarcodeQRReaderDoScan( 
    ImageID: Integer;
    ScanMode: BarcodeQRReaderScanMode
): GdPictureStatus; 
public function BarcodeQRReaderDoScan( 
   ImageID : int,
   ScanMode : BarcodeQRReaderScanMode
) : GdPictureStatus;
public: GdPictureStatus BarcodeQRReaderDoScan( 
   int ImageID,
   BarcodeQRReaderScanMode ScanMode
) 
public:
GdPictureStatus BarcodeQRReaderDoScan( 
   int ImageID,
   BarcodeQRReaderScanMode ScanMode
) 

Parameters

ImageID
A unique image identifier of the GdPicture image representing the image in use.
ScanMode
A member of the BarcodeAztecReaderScanMode 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 BarcodeQRReaderDoScan(Int32,BarcodeQRReaderScanMode,Int32,Boolean) method and set the ExpectedCount parameter to 1 and StopOnExpectedCount to true, to stop the recognition process after one 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 QrCodes in an image and writeing 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.
    BarcodeQRReaderScanMode mode = BarcodeQRReaderScanMode.BestSpeed;
 
    // Start the QrCode barcode scanning process using and stop the process after the first QrCode barcode is found.
    gdpictureImaging.BarcodeQRReaderDoScan(imageID, mode));
 
    // Write all available info into a text file.
    using (System.IO.StreamWriter file = new System.IO.StreamWriter("QrCodes.txt"))
    {
        int barcodesFound = gdpictureImaging.BarcodeQRReaderGetBarcodeCount();
 
        for (int i = 1; i <= barcodesFound; i++)
        {
            // Decoded information.
            file.WriteLine("Decoded info = " + gdpictureImaging.BarcodeQRReaderGetBarcodeValue(i));
 
            // Confidence in result, in percentage (values from 0 to 100).
            file.WriteLine("Confidence = " + gdpictureImaging.BarcodeQRReaderGetBarcodeConfidence(i));
 
            // The version of a Qr Code, in range 0-40. The higher the version, the larger the barcode is.
            file.WriteLine("Version = " + gdpictureImaging.BarcodeQRReaderGetVersion(i));
 
            // The skew angle of the barcode, in degrees.
            file.WriteLine("Skew angle = " + gdpictureImaging.BarcodeQRReaderGetBarcodeSkewAngle(i));
 
            // The raw bytes decoded. It was post-processed to find the correct decoded info based on detected Encoding.
            file.WriteLine("Raw bytes = " + gdpictureImaging.BarcodeQRReaderGetBarcodeValueRAW(i));
 
            // The barcode position, given by the coordinates of the corners.
            file.WriteLine("Position =  Top-Left=["
                + gdpictureImaging.BarcodeQRReaderGetBarcodeX1(i) + ", " + gdpictureImaging.BarcodeQRReaderGetBarcodeY1(i)
                + "] Top-Right=[" + gdpictureImaging.BarcodeQRReaderGetBarcodeX2(i) + ", " + gdpictureImaging.BarcodeQRReaderGetBarcodeY2(i)
                + "] Bottom-Right=[" + gdpictureImaging.BarcodeQRReaderGetBarcodeX3(i) + ", " + gdpictureImaging.BarcodeQRReaderGetBarcodeY3(i)
                + "] Bottom-Left=[" + gdpictureImaging.BarcodeQRReaderGetBarcodeX4(i) + ", " + gdpictureImaging.BarcodeQRReaderGetBarcodeY4(i) + "]");
        }
    }
 
    // Release used resources.
    gdpictureImaging.BarcodeQRReaderClear();
    gdpictureImaging.ReleaseGdPictureImage(imageID);
}
See Also