LEADTOOLS Raster Imaging C DLL Help > Function References > L_CopyBitmap |
#include "l_bitmap.h"
L_LTKRN_API L_INT L_CopyBitmap(pBitmapDst, pBitmapSrc, uStructSize)
pBITMAPHANDLE pBitmapDst; |
/* points to the destination bitmap handle */ |
pBITMAPHANDLE pBitmapSrc; |
/* points to the source bitmap handle */ |
L_UINT uStructSize; |
/* size in bytes, of the structure pointed to by pBitmapDst */ |
Copies an entire image of a source bitmap and places it into a destination bitmap. This also copies all fields in the bitmap handle.
Parameter |
Description |
pBitmapDst |
Points to the destination bitmap handle to hold the copied image. |
pBitmapSrc |
Points to the source bitmap handle. You must have a valid image loaded into the bitmap for this function to work. |
uStructSize |
Size in bytes, of the structure pointed to by pBitmapDst, for versioning. Use sizeof(BITMAPHANDLE). |
Returns
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Comments
The destination bitmap must not be allocated before this function is called. If the bitmap is already allocated, you must free it.
If a region is defined for the bitmap, the region is also copied.
Required DLLs and Libraries
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, Linux.
See Also
Functions: |
|
|
|
Topics: |
|
|
|
|
Example
For complete sample code, refer to the CHILD.C module of the DEMO example. This example loads TmpBitmap and copies it to LeadBitmap.
#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName L_INT CopyBitmapExample(pBITMAPHANDLE pBitmap) { L_INT nRet; BITMAPHANDLE TmpBitmap; /* Bitmap handle for the initial image */ /* Load a bitmap at its own bits per pixel */ nRet = L_LoadBitmap (MAKE_IMAGE_PATH(TEXT("ImageProcessingDemo\\Image3.cmp")), &TmpBitmap, sizeof(BITMAPHANDLE), 0, ORDER_BGR, NULL, NULL); if(nRet != SUCCESS) return nRet; /* Copy the temporary bitmap to the new bitmap */ if(pBitmap->Flags.Allocated) L_FreeBitmap(pBitmap); nRet = L_CopyBitmap(pBitmap, &TmpBitmap, sizeof(BITMAPHANDLE)); if(nRet != SUCCESS) return nRet; /* Clean up */ if(TmpBitmap.Flags.Allocated) L_FreeBitmap(&TmpBitmap); return SUCCESS; }