LMemoryFile::SaveFileCallBack (original) (raw)
Summary
This function is called by the LMemoryFile::SaveFileBuffer function to save the specified image data.
Syntax
#include "ltwrappr.h"
virtual L_INT LMemoryFile::SaveFileCallBack(pLBitmap, pLBuffer, uRow, uLines)
Parameters
LBitmapBase *pLBitmap
Pointer to an LBitmapBase object that contains the image data.
LBuffer * pLBuffer
Pointer to an LBuffer object into which the bitmap will be saved.
L_UINT uRow
Number of the first row of data that the callback will write to the buffer.
L_UINT uLines
Number of lines that the callback will write to the buffer.
Returns
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
Comments
If this function is overridden, the user must supply the image data that the function will save. The base class implementation saves data from the class object's associated bitmap.
This function does not support signed data images, unless they are DICOM images. It returns the error code ERROR_SIGNED_DATA_NOT_SUPPORTED if a signed data image that is not a DICOM image is passed to this function.
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.
Platforms
Win32, x64.
See Also
Functions
Topics
- Raster Image Functions: Saving Files
- Raster Image Functions: Redirecting Input and Output
- Raster Image Functions: Input and Output
- Loading and Saving Images
Example
class LUserMemoryFile : public LMemoryFile
{
virtual L_INT SaveFileCallBack(LBitmapBase * pLBitmap,
LBuffer * pLBuffer,
L_UINT uRow,
L_UINT uLines)
{
UNREFERENCED_PARAMETER(pLBitmap);
UNREFERENCED_PARAMETER(pLBuffer);
UNREFERENCED_PARAMETER(uRow);
L_TCHAR szMessage[64];
wsprintf(szMessage, TEXT("The number of lines is %u."), uLines);
MessageBox(NULL, szMessage, TEXT("Testing"), MB_OK);
return SUCCESS;
}
};
L_INT LMemoryFile__SaveFileCallBackExample(LBitmapBase & Bitmap)
{
LUserMemoryFile MemoryFile;
LBuffer Buffer(5000); // 5000 bytes; supposed to be enough
L_SIZE_T dwFileSize;
MemoryFile.SetBitmap(&Bitmap);
if (!MemoryFile.IsCallBackEnabled())
MemoryFile.EnableCallBack(TRUE);
return MemoryFile.SaveFileBuffer(&Buffer,
&dwFileSize,
FILE_TIF,
0,
QS,
SAVEFILE_FIXEDPALETTE,
NULL);
}
LEADTOOLS Raster Imaging C++ Class Library Help