Available in LEADTOOLS Imaging Pro, Vector, Document, and Medical Imaging toolkits. |
#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: |
|
|
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; }