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"); }