This function loads a thumbnail from the image located in a memory buffer.
Copy Code
|
|
---|---|
AT_ERRCOUNT ACCUAPI IG_load_thumbnail_mem( LPVOID lpImage, AT_UINT nSize, LPHIGEAR lphIGear ); |
Name | Type | Description |
---|---|---|
lpImage | LPVOID | Pointer to start of the image in memory. |
nSize | AT_UINT | Size of image in memory. |
lphIGear | LPHIGEAR | Pointer to HIGEAR variable to receive handle. |
All pixel formats supported by ImageGear for C and C++.
Copy Code
|
|
---|---|
HIGEAR hIGear1 = 0; /* handle ret'd by IG_load_mem */ HIGEAR hIGear2 = 0; /* ret'd by IG_load_thumbnail_mem */ char far * lpWhereFile = NULL; /* ptr to image file in mem */ AT_UINT nImageSize; /* Size of image in memory */ AT_ERRCOUNT nErrcount;/* to test for errors */ // Open a file and get its size FILE* fd; fopen_s(&fd, "picture.bmp", "rb"); if(fd != NULL) { fseek(fd, 0, SEEK_END); nImageSize = (AT_UINT)ftell(fd); fseek(fd, 0, SEEK_SET); // Allocate memory and read the image into the memory buffer lpWhereFile = (char*)malloc(nImageSize); fread(lpWhereFile, 1, nImageSize, fd); // File is no longer needed - close it fclose(fd); } // Load image from the memory nErrcount = IG_load_mem(lpWhereFile, nImageSize, 1, 0, &hIGear1); if ( nErrcount == 0 ) { nErrcount = IG_load_thumbnail_mem(lpWhereFile, nImageSize, &hIGear2); } // delete memory if(lpWhereFile) { free(lpWhereFile); } //... // Destroy images if(IG_image_is_valid(hIGear1)) { IG_image_delete(hIGear1); } if(IG_image_is_valid(hIGear2)) { IG_image_delete(hIGear2); } |
The handle of the resulting image is returned to the HIGEAR variable pointed to by argument lphIGear. See also functions IG_load_thumbnail, and IG_save_thumbnail_set.