freeimage.h

FreeImage_GetMemorySize

Calcula (o al menos estima) la cantidad total de memoria usada por un mapa de bits FreeImage. Esto incluye el tamaño del perfil ICC, el tamaño del thumbnail embebido (si existe), la memoria requerida para todos los metadatos, así como cualquier memoria interna de FreeImage (housekeeping).

DLL_API unsigned DLL_CALLCONV FreeImage_GetMemorySize(FIBITMAP *dib);

Debido a las diferentes implementaciones, este valor puede variar entre diferentes librerías estandar C++. Además, el valor retornado puede ser sólo una aproximación de la memoria realmente usada por algunas librerías estándar C++, pero debería ser exacta para la mayoría de las librerías estándar C++ de uso común (Microsoft C++ Standard Library, GNU Standard C++ Library v3, "libc++" C++ Standard Library). Para soporte adicional con otras librerías y obtener más información, ver el fichero MapIntrospector.h en los archivos fuente.

Existe otra diferencia con la función FreeImage_GetDIBSize. FreeImage_GetMemorySize devuelve valores significativos para vistas, que son imágenes que comparten datos DIB con otros FIBITMAPs (ver FreeImage_CreateView) o incluso con otra memoria no FreeImage (ver FreeImage_ConvertFromRawBitsEx).

Adicionalmente, FreeImage_GetMemorySize trabaja también con imágenes LOAD_NOPIXELS.