BarcodeMaxiCodeReaderDoScan(Int32,BarcodeMaxiCodeReaderScanMode,Int32,Boolean) Method
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. This method allows you to set the scanning mode parameter as well as to define the required number of barcodes the engine should detect.
Parameters
- ImageID
- A unique image identifier of the GdPicture image representing the image in use.
- ScanMode
- A member of the BarcodeMaxiCodeReaderScanMode enumeration. The scan mode (speed or quality) used for scanning process.
- ExpectedCount
- Specifies the number of barcodes expected to be detected. Use 0 to find all available barcodes within an image.
- StopOnExpectedCount
- If this is set to true and ExpectedCount > 0, the recognition process stops after first ExpectedCount barcodes were found.
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.
Finding MaxiCode in an image and writing complete barcodes info in a file.
using (GdPictureImaging gdpictureImaging = new GdPictureImaging())
{
int imageID = gdpictureImaging.CreateGdPictureImageFromFile("image.jpg", false);
// Set to 0, so all the MaxiCode in the image should be found.
int expectedBarcodes = 0;
// Perform scanning at best speed, ignoring very damaged barcodes.
BarcodeMaxiCodeReaderScanMode mode = BarcodeMaxiCodeReaderScanMode.BestSpeed;
// Start the MaxiCode scanning process and write info into a text file.
gdpictureImaging.BarcodeMaxiCodeReaderDoScan(imageID, mode, expectedBarcodes);
using (System.IO.StreamWriter file = new System.IO.StreamWriter("MaxiCode.txt"))
{
int barcodesFound = gdpictureImaging.BarcodeMaxiCodeReaderGetBarcodeCount();
for (int i = 1; i <= barcodesFound; i++)
{
// Decoded information.
file.WriteLine("Decoded info = " + gdpictureImaging.BarcodeMaxiCodeReaderGetBarcodeValue(i));
// The raw bytes decoded. It was post-processed to find the correct decoded info based on detected Encoding.
file.WriteLine("Raw bytes = " + gdpictureImaging.BarcodeMaxiCodeReaderGetBarcodeValueRAW(i));
// The barcode position, given by the coordinates of the corners.
file.WriteLine("Position = Top-Left=["
+ gdpictureImaging.BarcodeMaxiCodeReaderGetBarcodeX1(i) + ", " + gdpictureImaging.BarcodeMaxiCodeReaderGetBarcodeY1(i)
+ "] Top-Right=[" + gdpictureImaging.BarcodeMaxiCodeReaderGetBarcodeX2(i) + ", " + gdpictureImaging.BarcodeMaxiCodeReaderGetBarcodeY2(i)
+ "] Bottom-Right=[" + gdpictureImaging.BarcodeMaxiCodeReaderGetBarcodeX3(i) + ", " + gdpictureImaging.BarcodeMaxiCodeReaderGetBarcodeY3(i)
+ "] Bottom-Left=[" + gdpictureImaging.BarcodeMaxiCodeReaderGetBarcodeX4(i) + ", " + gdpictureImaging.BarcodeMaxiCodeReaderGetBarcodeY4(i) + "]");
}
}
// Release used resources.
gdpictureImaging.BarcodeMaxiCodeReaderClear();
gdpictureImaging.ReleaseGdPictureImage(imageID);
}