This function obtains a consecutive row of nLength pixels beginning at coordinates (nXpos, xYpos) in the image bitmap.
Declaration:
Copy Code | |
---|---|
AT_ERRCOUNT ACCUAPI IG_DIB_row_get ( HIGEAR hIGear, AT_PIXPOS nXpos, AT_PIXPOS nYpos, AT_DIMENSION nLength, LPVOID lpPixel, AT_MODE nFormat ); |
Arguments:
hIGear | HIGEAR handle of image. |
nXpos | X offset (in pixels) from beginning of the raster line. First pixel on line is pixel number 0. Specify as -1 to obtain the entire raster line of pixels. |
nYpos | Raster line number (0 is top line). |
nLength | Number of consecutive pixels to obtain (entire raster line if nXpos = -1). |
lpPixel | Far pointer to first byte of your area, at which the pixels obtained are to be stored. |
nFormat | Format in which the raster data is read: IG_PIXEL_PACKED, IG_PIXEL_UNPACKED, IG_PIXEL_RLE. |
Return Value:
Returns the number of ImageGear errors that occurred during this function call. If there are no errors, the return value is IGE_SUCCESS.
Supported Raster Image Formats:
All pixel formats supported by ImageGear Professional.
Sample:
Pixel Access
Example:
Copy Code | |
---|---|
HIGEAR hIGear; /* HIGEAR handle of image */ AT_PIXEL cPixelValue[300]; /* To hold 100 pixels, in case 24-bit*/ AT_PIXPOS nRow; /* Index for the loop below */ AT_DIMENSION nRowLen; /* How much of row to copy */ AT_ERRCOUNT nErrcount; /* Holds the returned error count */ /* Obtain leftmost 100 pixels of top raster of image: */ nRowLen = 100; nErrcount = IG_DIB_row_get ( hIGear, 0, 0, nRowLen, &cPixelValue[0], IG_PIXEL_UNPACKED ); /* Make leftmost 100 pixels of next 9 rows identical: */ for ( nRow = 1; nRow < 10; nRow++ ) nErrcount = IG_DIB_row_set (hIGear, 0, nRow, nRowLen, cPixelValue, IG_PIXEL_UNPACKED); |
Remarks:
If nFormat is set to IG_PIXEL_UNPACKED, and the image is 1 or 4-bit, the pixels obtained are stored right justified, one to a byte, beginning at your byte pointed to by lpPixel. The unused bits of the bytes are set to zero. If the pixels are 24-bit, 3 bytes per pixel are returned, ordered Blue-Green-Red. A total of nLength pixels is transferred. (See the section Device-Independent Bitmaps (DIB)Understanding Bitmap Images for more details on pixel storage in DIBs.)
ImageGear's pixel access functions consider the coordinates (0,0) to refer to the upper left-hand corner of the bitmap data. They do not follow the DIB's orientation, which considers (0,0) to refer to the lower left-hand corner of the bitmap. |