This function obtains information about the image located in the memory buffer.
Declaration:
Copy Code | |
---|---|
AT_ERRCOUNT ACCUAPI IG_info_get_mem_ex( VOID FAR32* lpImage32, AT_UINT dwSize, UINT nPage, LPAT_MODE lpFileType, LPAT_MODE lpCompression, HIGDIBINFO* lphDIB ); |
Arguments:
Name | Type | Description |
lpImage32 | VOID FAR32* | Pointer to start of file image in memory. |
dwSize | AT_UINT | Size of image in memory. |
nPage | UINT | Page number about which to get information, if a multi page file set to 1 or greater; for a non multi page file set to 1. |
lpFileType | LPAT_MODE | Pointer to an AT_MODE variable in which the file type will be returned. See enumIGFormats for possible values. |
lpCompression | LPAT_MODE | Pointer to an AT_MODE variable in which the compression type will be returned. See enumIGCompressions for possible values. |
lphDIB | HIGDIBINFO* | Pointer to an HIGDIBINFO structure to which other file information such as width, height, and Bits Per Pixel, will be returned. |
Return Value:
Returns 0 if successful. Otherwise, returns the number of ImageGear errors that occurred during this function call.Supported Raster Image Formats:
All pixel formats supported by ImageGear Professional.
Sample:
MemIO
Example:
Copy Code | |
---|---|
char* lpBuffer; // Memory buffer with the image AT_UINT nBufferSize; // Size of the memory buffer AT_MODE nFileType; // Will receive an IG_FORMAT_ constant AT_MODE nCompression; // Will receive an IG_COMPRESSION_ constant HIGDIBINFO hDIB; AT_ERRCOUNT nErrcount; // Returned count of errors // Open a file and get its size FILE* fp = NULL; fopen_s(&fp, "picture.bmp", "rb"); if(fp != NULL) { fseek(fp, 0, SEEK_END); nBufferSize = (AT_UINT)ftell(fp); fseek(fp, 0, SEEK_SET); // Allocate memory and read the image into the memory buffer lpBuffer = (char*)malloc(nBufferSize); fread(lpBuffer, 1, nBufferSize, fp); // File is no longer needed - close it fclose(fp); // Get image info nErrcount = IG_info_get_mem_ex(lpBuffer, nBufferSize, 1, &nFileType, &nCompression, &hDIB); fclose(fp); // ... // Delete memory buffer free(lpBuffer); // Delete DIB info IG_DIB_info_delete(hDIB); } |
Remarks:
See also IG_info_get_FD_ex and IG_info_get_ex functions.