This function creates a new HIGEAR image from a Windows DIB stored in memory.
Declaration:
|
Copy Code
|
AT_ERRCOUNT ACCUAPI IG_image_DIB_import(
const AT_DIB* lpDIB,
LPHIGEAR lphIGear
);
|
Arguments:
Name |
Type |
Description |
lpDIB |
const AT_DIB* |
DIB to be imported. |
lphIGear |
LPHIGEAR |
HIGEAR handle of image created from imported DIB. |
Return Value:
Returns 0 if successful. Otherwise, returns the number of ImageGear errors that occurred during this function call.
Supported Raster Image Formats:
- Indexed RGB - 1, 4, 8 bpp
- Grayscale - 8...16 bpp
- RGB - 24 bpp
- CMYK - 32 bpp
Sample:
Filters, Image Utility
Example:
|
Copy Code
|
AT_ERRCOUNT nErrcount; // Number of errors on stack
HIGEAR hIGear; // Handle of image
HIGEAR hIGearImported; // Handle of the imported image
AT_INT nDibSize; // Exported DIB size
AT_DIB_EXPORT_OPTIONS Options; // Options for DIB export
LPAT_DIB lpDIBBuffer; // Buffer to export DIB
// Load image file "picture.bmp" from working directory
nErrcount = IG_load_file("picture.bmp", &hIGear);
if(nErrcount == 0)
{
// Get exported DIB size, allocate memory buffer and export DIB
memset(&Options, 0, sizeof(AT_DIB_EXPORT_OPTIONS));
Options.Format = IG_DIB_EXPORT_FORMAT_WINDOWS;
Options.UseAlpha = FALSE;
IG_image_DIB_export_size_calc(hIGear, &nDibSize, &Options);
lpDIBBuffer = (LPAT_DIB)malloc(nDibSize);
nErrcount = IG_image_DIB_export(hIGear, lpDIBBuffer, nDibSize, &Options);
if(nErrcount == 0)
{
// Import the DIB into the new image
nErrcount = IG_image_DIB_import(lpDIBBuffer, &hIGearImported);
//...
// Destroy the image
IG_image_delete(hIGearImported);
}
// Delete memory
free(lpDIBBuffer);
// Destroy the image
IG_image_delete(hIGear);
}
|
Remarks:
This function copies pixels to the new HIGEAR. Application continues to own lpDIB after calling this function.