#include "l_bitmap.h"

L_LTIVW_API L_INT EXT_FUNCTION L_DispContainerSaveRegion(hCellWnd, pFileName, nSubCellIndex, nStartPage, uFlags)

Saves the region of the specified cell or sub-cell image to a file.


L_HWND hCellWnd

A handle to the window that represents the cell on which the function's effect will be applied.

LPTSTR pFileName

Character string that contains the name of the file to save.

L_INT nSubCellIndex

A zero-based index into the image list attached to the cell specified in nCellIndex. This sub-cell contains the image region that will be saved. Pass -2 to refer to the selected sub-cell. If the cell contains 1 frame then the nSubCellIndex should be 0.

L_INT nStartPage

The page number of a multipage file, which can contain more than one image.

L_UINT uFlags

Flag that is used to determine the way of saving the region. Possible values are:

Value Meaning
CONTAINER_FILE_CREATE [0x00000000] Create a file.
CONTAINER_FILE_APPEND [0x00000001] Append an existing file.
CONTAINER_FILE_REPLACE [0x00000002] Replace the region in the index nStartPage in the existing file with the new region.
CONTAINER_FILE_INSERT [0x00000003] Insert the region in the index nStartPage in the existing file.


Value Meaning
SUCCESS The function was successful.
< 1 An error occurred. Refer to Return Codes.


This function saves the region into an encrypted file. To load the saved region file use L_DispContainerLoadRegion.

Required DLLs and Libraries

See Also




This example will create a bitmap region on the first frame of the first image, save it, and then apply it to the rest of the frames.

L_INT DispContainerSaveBitmapRegionExample(HDISPCONTAINER hCon) 
   L_INT        nRet; 
   RECT         rcRect; 
   L_INT        nI; 
   L_INT        nCount; 
   HBITMAPLIST  hBitmapList; 
   if (L_DispContainerGetCellCount(hCon, 0) == 0) 
      MessageBox(NULL, TEXT("you must at least have one cell added to the viewer"), TEXT("No Cell attached"), MB_OK); 
      return FAILURE; 
   HWND hCellWnd = L_DispContainerGetCellWindowHandle(hCon, 0, 0); 
   nRet = L_DispContainerGetBitmapHandle(hCellWnd, 0, &Bitmap, 0); 
   if (nRet != SUCCESS) 
      return nRet; 
   nRet = L_DispContainerGetCellBitmapList(hCellWnd, &hBitmapList, 0); 
   if (nRet != SUCCESS) 
      return nRet; 
   L_GetBitmapListCount(hBitmapList, (L_UINT *)&nCount); 
   L_INT nBitmapCenterX = BITMAPWIDTH(&Bitmap) >> 1; 
   L_INT nBitmapCenterY = BITMAPHEIGHT(&Bitmap) >> 1; 
   SetRect(&rcRect, nBitmapCenterX - (nBitmapCenterX >> 1), 
                    nBitmapCenterY - (nBitmapCenterY >> 1), 
                    nBitmapCenterX + (nBitmapCenterX >> 1), 
                    nBitmapCenterY + (nBitmapCenterY >> 1)); 
   L_SetBitmapRgnRect(&Bitmap, NULL, &rcRect, L_RGN_OR); 
   L_DispContainerSetBitmapHandle(hCellWnd, 0, &Bitmap, TRUE, 0); 
   L_DispContainerSaveRegion(hCellWnd, MAKE_IMAGE_PATH(TEXT("Region.rgn")), 0, 0, 0); 
   for (nI = 0; nI < nCount; nI++) 
      L_DispContainerLoadRegion(hCellWnd, MAKE_IMAGE_PATH(TEXT("Region.rgn")), nI, 0, 0); 
   return SUCCESS; 

Help Version 21.0.2021.4.7
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Medical Image Viewer C API Help