Partager via


Interface IWICFastMetadataEncoder (wincodec.h)

Expose les méthodes utilisées pour la modification des métadonnées sur place. Un encodeur de métadonnées rapide vous permet d’ajouter et de supprimer des métadonnées à une image sans avoir à réencoder entièrement l’image.

Héritage

L’interface IWICFastMetadataEncoder hérite de l’interface IUnknown. IWICFastMetadataEncoder possède également les types de membres suivants :

Méthodes

L’interface IWICFastMetadataEncoder a ces méthodes.

 
IWICFastMetadataEncoder::Commit

Finalise les modifications des métadonnées dans le flux d’images.
IWICFastMetadataEncoder::GetMetadataQueryWriter

Récupère un enregistreur de requêtes de métadonnées pour un encodage rapide des métadonnées.

Remarques

Un décodeur doit être créé à l’aide de la valeur WICDecodeOptionsWICDecodeMetadataCacheOnDemand pour effectuer des mises à jour des métadonnées sur place. À l’aide de l’option WICDecodeMetadataCacheOnLoad , le décodeur libère le flux de fichiers nécessaire pour effectuer les mises à jour des métadonnées.

Tous les formats de métadonnées ne prennent pas en charge l’encodage rapide des métadonnées. Les gestionnaires de métadonnées natifs qui prennent en charge les métadonnées sont IFD, Exif, XMP et GPS.

Si un encodeur de métadonnées rapide échoue, l’image doit être entièrement réencodée pour ajouter les métadonnées.

Exemples

L’exemple suivant montre comment obtenir un encodeur de métadonnées rapide à partir d’un cadre d’image et utiliser son enregistreur de requêtes pour écrire un élément de métadonnées.

IWICFastMetadataEncoder *pFME = NULL;
IWICMetadataQueryWriter *pFMEQW = NULL;

hr = pFactory->CreateFastMetadataEncoderFromFrameDecode(pFrameDecode, &pFME);

if (SUCCEEDED(hr))
{
 	hr = pFME->GetMetadataQueryWriter(&pFMEQW);
}

if (SUCCEEDED(hr))
{
	 // Add additional metadata
 	PROPVARIANT value;

	 PropVariantInit(&value);

 	value.vt = VT_UI2;
	 value.uiVal = 99;
 	hr = pFMEQW->SetMetadataByName(L"/app1/ifd/{ushort=18249}", &value);

 	PropVariantClear(&value);
}

if (SUCCEEDED(hr))
{
	 hr = pFME->Commit();
}

Configuration requise

   
Client minimal pris en charge Windows XP avec SP2, Windows Vista [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête wincodec.h