L_ResizeBitmapRgn

#include "l_bitmap.h"

L_LTIMGEFX_API L_INT L_ResizeBitmapRgn(pBitmap, uDim, uFlags, bAsFrame)

pBITMAPHANDLE pBitmap;

/* pointer to the bitmap handle */

L_UINT uDim;

/* number of pixels to resize the width */

L_UINT uFlags;

/* flag */

L_BOOL bAsFrame;

/* flag */

Resizes a bitmap region by the specified number of pixels.

Parameter

Description

pBitmap

Pointer to the bitmap handle that references the bitmap to resize.

uDim

Number of pixels by which to resize the region.

uFlags

Flag that indicates whether to contract or expand the bitmap region. Possible values are:

 

Value

Meaning

 

RGN_EXPAND

[0x0001] Expand the region.

 

RGN_CONTRACT

[0x0002] Contract the region.

bAsFrame

Flag that indicates whether to create a frame associated with the resized bitmap region. Possible values are:

 

Value

Meaning

 

TRUE

Create a frame of thickness uDim for the resized region. If uFlags is RGN_EXPAND, the frame created will exist outside the boundaries of the resized region. If uFlags is RGN_CONTRACT, the frame will be within the boundaries of the resized region.

 

FALSE

Resize the region only. Do not create a frame.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

This function keeps the same bitmap handle and resizes the bitmap region that it references.

This function supports 12 and 16-bit grayscale and 48 and 64-bit color images. Support for 12 and 16-bit grayscale and 48 and 64-bit color images is available in the Document and Medical Imaging toolkits.

This function supports 32-bit grayscale images.

Required DLLs and Libraries

LTIMGEFX

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:

L_ResizeBitmap, L_StartResize, L_Resize, L_StopResize, L_DlgResize

Topics:

Raster Image Functions: Creating and Using a Region

 

Working with the Existing Bitmap Region

Example

For complete sample code, refer to the ImgChd.c module of the IMGFEATR example. This example changes a bitmap region size

#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName



 L_INT ResizeBitmapRgnExample(pBITMAPHANDLE pBitmap /* Bitmap handle to hold the loaded image. */)
{
   L_INT nRet;
   RECT rRgnRect;               /* Rectangle that defines the region /
  
   /* Load a bitmap */
   nRet = L_LoadBitmap (MAKE_IMAGE_PATH(TEXT("IMAGE1.CMP")), pBitmap, sizeof(BITMAPHANDLE),0,ORDER_BGR,NULL, NULL);
   if(nRet !=SUCCESS)
      return nRet;
   /* Specify a rectangle to define a region , this region specify by the mouse on IMGFEATR demo*/
   SetRect(&rRgnRect, 80, 20, 100, 40);
   /* Create an elliptical region */ 
   nRet = L_SetBitmapRgnEllipse (pBitmap, NULL, &rRgnRect, L_RGN_SET);
   if(nRet !=SUCCESS)
      return nRet;
   /* contract the bitmap region by 20 pixels*/
   nRet = L_ResizeBitmapRgn(pBitmap, 20, RGN_CONTRACT, FALSE);
   if(nRet !=SUCCESS)
      return nRet;
   /* Free the region */
   L_FreeBitmapRgn(pBitmap);
   //free Bitmap
   nRet = L_SaveBitmap(MAKE_IMAGE_PATH(TEXT("Result.BMP")), pBitmap, FILE_BMP, 24, 0, NULL);
   if(nRet !=SUCCESS)
      return nRet;

   return SUCCESS;
}