LEADTOOLS Raster Imaging C DLL Help > Function References > Callback Functions > FILESAVECALLBACK Function |
#include "l_bitmap.h"
L_INT pEXT_CALLBACK YourFunction (pBitmap, pBuffer, uRow, uLines, pUserData)
pBITMAPHANDLE pBitmap; |
/* pointer to the bitmap handle */ |
L_UCHAR* pBuffer; |
/* pointer to a buffer for the caller's input data */ |
L_UINT uRow; |
/* first line to write to the buffer*/ |
L_UINT uLines; |
/* number of lines to write to the buffer */ |
L_VOID* pUserData; |
/* pointer to additional parameters */ |
Provides input to the L_SaveFile or L_SaveFileOffset function.
Parameter |
Description |
pBitmap |
Pointer to the bitmap handle that contains the image information. |
pBuffer |
Pointer to the caller's input buffer where the callback function must put the data. |
uRow |
The number of the first line that the callback function must put in the buffer. |
uLines |
The number of lines that the callback function must put in the buffer. |
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
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Comments
This type callback function is optional. If you provide a callback function, it must supply the image data. It can also do other useful things, such as updating a status bar. If you do not provide a callback function, the calling function saves data from the specified bitmap.
Required DLLs and Libraries
LTFIL For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application |
See Also
Functions: |
Example
This FILESAVECALLBACK function supplies image data from the LEAD bitmap to fulfill the minimum requirements of the callback
L_INT EXT_CALLBACK SaveImageCB (pBITMAPHANDLE pBitmap, L_UCHAR * pBuffer, L_UINT nRowBegin, L_UINT nRowsToGet, L_VOID * pUserData) { UNREFERENCED_PARAMETER(pUserData); L_UINT i; /* Row counter */ L_UINT nRowLast = nRowBegin + nRowsToGet; /* Used when counting rows */ /* Put the required rows in the buffer */ for (i = nRowBegin; i < nRowLast; i++) { /* Get a row from the bitmap and put it in the buffer */ L_AccessBitmap (pBitmap); L_GetBitmapRow (pBitmap, pBuffer, i, pBitmap->BytesPerLine); L_ReleaseBitmap (pBitmap); /* Move the pointer to the position in the buffer for the next row */ pBuffer += pBitmap->BytesPerLine; } return (SUCCESS); }