#include "l_bitmap.h"
L_LTIVW_API L_INT EXT_FUNCTION L_DispContainerSaveRegion(hCellWnd, pFileName, nSubCellIndex, nStartPage, uFlags)
L_HWND hCellWnd; |
handle to the cell window |
LPTSTR pFileName; |
output file name |
L_INT nSubCellIndex; |
index into the image list attached to the cell |
L_INT nStartPage; |
the page number of a multi-page file |
L_UINT uFlags; |
flag |
Saves the region of the specified cell or sub-cell image to a file.
Parameter | Description | |
hCellWnd | A handle to the window that represents the cell on which the function's effect will be applied. | |
pFileName | Character string that contains the name of the file to save. | |
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. | |
nStartPage | The page number of a multi-page file, which can contain more than one image. | |
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. |
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
LTIVW |
Functions: |
L_DispContainerLoadRegion, L_DispContainerAnnToRgn, L_DispContainerSetRegionCallBack, L_DispContainerGetRegionCallBack, DISPCONTAINERREGIONCALLBACK |
Topics: |
|
|
|
|
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.
#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName
L_INT DispContainerSaveBitmapRegionExample(HDISPCONTAINER hCon)
{
L_INT nRet;
BITMAPHANDLE Bitmap;
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;
}