Converts a Windows device independent bitmap (DIB) into an LBitmapBase object. When this function is completed, there are two copies of the image in memory: the original DIB and the LEAD bitmap. Freeing one will not affect the other.
#include "ltwrappr.h"
virtual L_INT LBitmapBase::ConvertFromDIB(pInfo, pBits)
Pointer to the Windows BITMAPINFO structure.
Pointer to a buffer containing the DIB image data.
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
This function updates information in the bitmap handle and copies the DIB image data into the LEAD bitmap.
This function supports the standard DIB formats (BI_RGB and BI_BITFIELDS) as well as some FOURCC (Four Character Code) formats that some capture cards output.
These are the FOURCC that LEADTOOLS supports at the moment:
Win32, x64.
This example loads a bitmap, converts it to a DIB, then converts the DIB back to a bitmap
L_INT LBitmapBase__ConvertFromDIBExample(HWND hWnd,LBitmapBase LeadBitmap)
{
UNREFERENCED_PARAMETER(hWnd);
L_INT nRet;
LBitmapBase TmpBitmap;
HGLOBAL hDIB;
BITMAPINFO * pInfo;
L_UCHAR * pBits;
L_INT nColorData;
/* Load a bitmap at 8 bits per pixel so that we can demonstrate palette handling */
nRet =TmpBitmap.Load (MAKE_IMAGE_PATH(TEXT("ImageProcessingDemo\\Image3.cmp")), 8, ORDER_BGR);
if(nRet !=SUCCESS)
return nRet;
hDIB = TmpBitmap.ConvertToDIB(DIB_BITMAPV5HEADER);
pInfo = (BITMAPINFO *) GlobalLock( hDIB );
if(pInfo->bmiHeader.biBitCount <= 8)
nColorData = 1 << pInfo->bmiHeader.biBitCount;
else
nColorData = 0;
pBits = (L_UCHAR *) pInfo + sizeof(BITMAPINFOHEADER) + (nColorData * sizeof(RGBQUAD));
nRet =LeadBitmap.ConvertFromDIB(pInfo, pBits);
if(nRet !=SUCCESS)
return nRet;
GlobalUnlock(hDIB);
GlobalFree(hDIB);
nRet =TmpBitmap.Free();
if(nRet !=SUCCESS)
return nRet;
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