LMemoryFile::SaveFileCallBack

#include "ltwrappr.h"

virtual L_INT LMemoryFile::SaveFileCallBack(pLBitmap, pLBuffer, uRow, uLines)

This function is called by the LMemoryFile::SaveFileBuffer function to save the specified image data.

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

Platforms

Win32, x64.

See Also

Functions

Topics

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); 
} 
Help Version 21.0.2021.7.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C++ Class Library Help