Partager via


BitmapEncoder.CreateForInPlacePropertyEncodingAsync(BitmapDecoder) Méthode

Définition

Crée de manière asynchrone un nouveau BitmapEncoder pour la modification des métadonnées et des propriétés sur place. Le nouvel encodeur peut uniquement modifier les propriétés bitmap sur place et échoue pour d’autres utilisations.

public:
 static IAsyncOperation<BitmapEncoder ^> ^ CreateForInPlacePropertyEncodingAsync(BitmapDecoder ^ bitmapDecoder);
/// [Windows.Foundation.Metadata.RemoteAsync]
 static IAsyncOperation<BitmapEncoder> CreateForInPlacePropertyEncodingAsync(BitmapDecoder const& bitmapDecoder);
[Windows.Foundation.Metadata.RemoteAsync]
public static IAsyncOperation<BitmapEncoder> CreateForInPlacePropertyEncodingAsync(BitmapDecoder bitmapDecoder);
function createForInPlacePropertyEncodingAsync(bitmapDecoder)
Public Shared Function CreateForInPlacePropertyEncodingAsync (bitmapDecoder As BitmapDecoder) As IAsyncOperation(Of BitmapEncoder)

Paramètres

bitmapDecoder
BitmapDecoder

BitmapDecoder contenant les données d’image à modifier. Ce paramètre doit être créé sur un flux avec un mode d’accès ReadWrite.

Notes

L’encodeur écrit dans le flux sur lequel le BitmapDecoder d’origine a été créé. Vous ne pouvez pas spécifier un flux de sortie.

Retours

Objet qui gère l’initialisation asynchrone d’un nouveau BitmapEncoder à l’aide des données d’un BitmapDecoder existant.

Attributs

Remarques

Utilisez cette méthode pour récupérer un encodeur lorsque vous ne l’utilisez que pour modifier ou écrire un nombre limité de propriétés dans l’image. Un encodeur récupéré de cette façon peut fournir un avantage en matière de performances par rapport à un encodeur retourné par CreateForTranscodingAsync , car il écrit les nouvelles propriétés dans un espace de remplissage vide au lieu d’encoder à nouveau l’image entière.

Voici plusieurs limitations à un encodeur récupéré de cette façon :

  • Vous ne pouvez utiliser ces méthodes que sur l’encodeur :
  • L’entrée BitmapDecoder doit être un encodeur créé sur un flux avec un accès ReadWrite .
  • 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.
  • Le bloc de métadonnées doit avoir suffisamment de remplissage pour stocker les propriétés que vous essayez de modifier. Si une opération d’encodage échoue pour une raison quelconque, vous devez utiliser CreateForTranscodingAsync pour modifier les métadonnées et réencoder l’image. Lorsque vous réencodez, vous pouvez également ajouter un remplissage nouveau ou supplémentaire pour activer l’encodage de propriétés sur place à l’avenir. Pour ce faire, créez un nouveau BitmapTypedValue avec type défini sur UInt32 et Valeur définie sur le nombre d’octets de remplissage que vous souhaitez ajouter. Une valeur standard est 4 096 octets. Définissez cet élément de métadonnées sur un ou plusieurs emplacements de requête de métadonnées dans cette table.
    Format de métadonnéesRequête de métadonnées JPEGTIFF, requête de métadonnées JPEG-XR
    IFD/app1/ifd/PaddingSchema:Padding/ifd/PaddingSchema:Padding
    EXIF/app1/ifd/exif/PaddingSchema:Padding/ifd/exif/PaddingSchema:Padding
    XMP/xmp/PaddingSchema:Padding/ifd/xmp/PaddingSchema:Padding
    GPS/app1/ifd/gps/PaddingSchema:Padding/ifd/gps/PaddingSchema:Padding

    S’applique à