freeimage.h
FreeImage_SetMetadataKeyValue
DLL_API BOOL DLL_CALLCONV FreeImage_SetMetadataKeyValue(FREE_IMAGE_MDMODEL model, FIBITMAP *dib, const char *key, const char *value);
Esta función auxiliar crea y establece un FITAG cuyo tipo es FIDT_ASCII. Parámetros:
- model: Modelo de metadatos a rellenar.
- dib: Imagen a rellenar.
- key: Clave de etiqueta.
- value: Valor de etiqueta como cadena ASCII (terminada en NULL).
La función retorna TRUE si tiene éxito, y FALSE si no.
char *xmp_profile = NULL; // the following assumes that you have a XML packet stored in // the (null terminated) variable 'xmp_profile'. // store the tag FreeImage_SetMetadataKeyValue(FIMD_XMP, dib, “XMLPacket”, xmp_profile);
/**
Add some IPTC tags to a FIBITMAP
*/
void add_IPTC_Metadata(FIBITMAP *dib) {
// !!! IPTC data is ignored by Photoshop when there is a XML packet in the dib !!!
FreeImage_SetMetadataKeyValue(FIMD_IPTC, dib, "ObjectName", "my title");
FreeImage_SetMetadataKeyValue(FIMD_IPTC, dib, "Caption-Abstract", "my caption");
FreeImage_SetMetadataKeyValue(FIMD_IPTC, dib, "Writer-Editor", "myself");
FreeImage_SetMetadataKeyValue(FIMD_IPTC, dib, "By-lineTitle", "my position");
FreeImage_SetMetadataKeyValue(FIMD_IPTC, dib, "Keywords",
"FreeImage;Library;Images;Compression");
}