FreeImage_GetMetadata
DLL_API BOOL DLL_CALLCONV FreeImage_GetMetadata(FREE_IMAGE_MDMODEL model, FIBITMAP *dib, const char *key, FITAG **tag);
Recupera un metadato asociado a un dib. A la entrada, model es el modelo de metadato a buscar, dib es la imagen que contene el metadato, key es el nombre del campo del metadato (único dentro del modelo de metadatos) y tag es una estructra FITAG retornada por la función.
Cuando la etiqueta buscada no existe, el objeto tag se deja sin modificar y la función retorna FALSE. En caso contrario, la función retorna TRUE y el objeto tag contiene la información del metadato.
// this code assumes there is a bitmap loaded and // present in a variable called ‘dib’ // Get the camera model FITAG *tagMake = NULL; FreeImage_GetMetadata(FIMD_EXIF_MAIN, dib, "Make", &tagMake); if(tagMake != NULL) { // here we know (according to the Exif specifications) that tagMake is a C string printf("Camera model : %s\n", (char*)FreeImage_GetTagValue(tagMake)); // if we don’t have the specifications, we can still convert the tag to a C string printf("Camera model : %s\n", FreeImage_TagToString(FIMD_EXIF_MAIN, tagMake)); }
Cuando una etiqueta retornada por FreeImage_GetMetadata o por una función iteradora de metadatos es modificad, los cambios serán aplicados a la etiqueta correspondiente en el mapa de bits. Al guardar el mapa de bits se guardará la etiqueta modificada (siempre que la librería pueda guardar el modelo de metadatos correspondiente).