Available in LEADTOOLS Imaging Pro, Vector, Document, and Medical Imaging toolkits. |
#include "l_bitmap.h"
L_INT pEXT_CALLBACK YourFunction(pBitmap, pBuffer, nRow, nCol, uBytes, pUserData)
pBITMAPHANDLE pBitmap; |
/* bitmap handle */ |
L_UCHAR* pBuffer; |
/* buffer for data */ |
L_INT nRow; |
/* number of the row to provide */ |
L_INT nCol; |
/* column offset within the row to provide */ |
L_SIZE_T uBytes; |
/* number of bytes to retrieve */ |
L_VOID* pUserData; |
/* pointer to additional parameters */ |
Callback function used to feed to the resizing engine image data to be resized.
Parameter |
Description |
pBitmap |
Pointer to a bitmap handle. |
pBuffer |
Buffer that contains image data. |
nRow |
The number of the row to provide. The first row is 0, and the last row is 1 less than the bitmap height. |
nCol |
The column offset within the row to provide. The first column offset is 0, and the last column offset is 1 less than the bitmap width. |
uBytes |
The number of bytes to retrieve. |
pUserData |
A void pointer that you can use to access a variable or structure containing data that your callback function needs. This gives you a way to receive data indirectly from the function that uses this callback function. (This is the same pointer that you pass in the pUserData parameter of the calling function.) |
|
Keep in mind that this is a void pointer, which must be cast to the appropriate data type within your callback function. |
Returns
>0 |
The number of bytes that the function wrote to the file. |
-1 |
The function failed. |
Comments
This is an optional callback function used by the L_StartResizeBitmap function. It is called by L_StartResizeBitmap to get the data from the bitmap. One possible use of this is to resize bitmaps that are too large to fit into memory. You can use the callback to feed to the resizing engine one line at a time.
This serves as a replacement for the L_GetBitmapRowCol function, which may be unable to retrieve certain images, such as extremely large images. This callback allows you to retrieve portions of an image for resizing.
Required DLLs and Libraries
LTKRN For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application |
Example
L_INT ResizeCallback ( pBITMAPHANDLE pBitmap, L_UCHAR *pBuffer, L_INT nRow, L_INT nCol, L_SSIZE_T uBytes, L_VOID *pUserData) { UNREFERENCED_PARAMETER(pUserData); L_SSIZE_T uBytesRead = L_GetBitmapRowCol(pBitmap, pBuffer, nRow, nCol, uBytes); return uBytesRead == uBytes ? SUCCESS : FAILURE; }