Resizes a bitmap region by the specified number of pixels.
#include "l_bitmap.h"
L_LTIMGEFX_API L_INT L_ResizeBitmapRgn(pBitmap, uDim, uFlags, bAsFrame)
Pointer to the bitmap handle that references the bitmap to resize.
Number of pixels by which to resize the region.
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. |
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. |
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
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.
Win32, x64.
For complete sample code, refer to the ImgChd.c module of the IMGFEATR example.
This example changes a bitmap region size
L_INT ResizeBitmapRgnExample()
{
L_INT nRet;
RECT rRgnRect; /* Rectangle that defines the region */
BITMAPHANDLE Bitmap; /* Bitmap handle to hold the loaded image. */
/* Load a bitmap */
nRet = L_LoadBitmap(MAKE_IMAGE_PATH(TEXT("IMAGE1.CMP")), &Bitmap, 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(&Bitmap, NULL, &rRgnRect, L_RGN_SET);
if (nRet != SUCCESS)
return nRet;
/* contract the bitmap region by 20 pixels*/
nRet = L_ResizeBitmapRgn(&Bitmap, 20, RGN_CONTRACT, FALSE);
if (nRet != SUCCESS)
return nRet;
/* Free the region */
L_FreeBitmapRgn(&Bitmap);
//free Bitmap
nRet = L_SaveBitmap(MAKE_IMAGE_PATH(TEXT("Result.BMP")), &Bitmap, FILE_BMP, 24, 0, NULL);
if (nRet != SUCCESS)
return nRet;
L_FreeBitmap(&Bitmap);
return SUCCESS;
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document