freeimage.h

FreeImage_GetThumbnail

DLL_API FIBITMAP *DLL_CALLCONV FreeImage_GetThumbnail(FIBITMAP *dib);

Algunos formatos de imagen premiten almacenar una imagen reducida (thumbnail) embebida junto al fichero de imagen. Cuando esta imagen reducida está presente en un fichero, es cargada automáticamente por FreeImage (independientemente de los flags de carga, incluso si se usa el flag FIF_LOAD_NOPIXEL).

Los formatos de imagen que actualmente soportan carga de thumbnail son JPEG (Exif o JFIF), PSD, EXR, TGA y TIFF.

FreeImage_GetThumbnail recupera un enlace al thumbnail que puede estar disponible con un dib.

// this code assumes there is a bitmap loaded and
// present in a variable called ‘bitmap’
if( FreeImage_GetThumbnail(bitmap) ) {
    // a thumbnail is available: get a link to it
    FIBITMAP *thumbnail = FreeImage_GetThumbnail(bitmap);
    unsigned width = FreeImage_GetWidth(thumbnail);
    unsigned height = FreeImage_GetHeight(thumbnail);
    FIBITMAP *clone = FreeImage_Clone(thumbnail);
    // ... process 'clone' ...
    FreeImage_Unload(clone);
    // never call FreeImage_Unload on a thumbnail as its lifecycle is managed internally
}
// calling FreeImage_Unload on the bitmap will destroy everything
// (including its attached thumbnail)
FreeImage_Unload(bitmap);