freeimage.h

FreeImage_SetThumbnail

DLL_API BOOL DLL_CALLCONV FreeImage_SetThumbnail(FIBITMAP *dib, FIBITMAP *thumbnail);

Adjunta una imagen thumbnail a un dib, de modo que pueda ser almacenada junto al dib más tarde en un formato de fichero de imagen.

Si el parámetro de entrada thumbnail es NULL se borrará el thumbnail del dib.

Los formatos de imagen que actualmente soportan el guardado de thumbnail son JPEG (formatos JFIF), EXR, TGA y TIFF.

// this code assumes there is a bitmap loaded and
// present in a variable called ‘bitmap’
// create a thumbnail and convert to a standard bitmap type
FIBITMAP *thumbnail = FreeImage_MakeThumbnail(bitmap, 100, TRUE);
if(thumbnail) {
    // attach the thumbnail to 'bitmap'
    FreeImage_SetThumbnail(bitmap, thumbnail);
    // thumbnail is no longer needed
    FreeImage_Unload(thumbnail);
}
// save the bitmap as JPEG, together with its embedded thumbnail
FreeImage_Save(FIF_JPEG, bitmap, "test_thumb.jpg", 0);
// save the bitmap as JPEG, without embedded thumbnail
FreeImage_SetThumbnail(bitmap, NULL);
FreeImage_Save(FIF_JPEG, bitmap, "test_no_thumb.jpg", 0);
// clear and exit
FreeImage_Unload(bitmap);

Las imágenes Thumbnail son casi siempre mapas de bits estándar (es decir imagenes con un tipo de imagen FIT_BITMAP). El formato JPEG soporta thumbnails de 8- o 24-bit, mientras que el formato EXR sólo soporta thumbnails de 32-bit. El formato TGA necesita un thumbnail con la misma profundidad de bits que la imagen. El formato TIF no tiene restricciones en lo que respecta a la profundidad de bits, pero se recomienda un tipo de mapa de bits estándar.