Condividi tramite


BitmapEncoder.CreateForInPlacePropertyEncodingAsync(BitmapDecoder) Metodo

Definizione

Crea in modo asincrono un nuovo BitmapEncoder per la modifica di metadati e proprietà sul posto. Il nuovo codificatore può modificare solo le proprietà bitmap sul posto e avrà esito negativo per qualsiasi altro utilizzo.

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)

Parametri

bitmapDecoder
BitmapDecoder

BitmapDecoder contenente i dati dell'immagine da modificare. Questo parametro deve essere creato in un flusso con una modalità di accesso di ReadWrite.

Nota

Il codificatore scrive nel flusso in cui è stato creato l'oggetto BitmapDecoder originale. Non è possibile specificare un flusso di output.

Restituisce

Oggetto che gestisce l'inizializzazione asincrona di un nuovo BitmapEncoder usando i dati di un BitmapDecoder esistente.

Attributi

Commenti

Usare questo metodo per recuperare un codificatore solo quando si intende usarlo solo per modificare o scrivere una quantità limitata di proprietà nell'immagine. Un codificatore recuperato in questo modo può offrire un vantaggio sulle prestazioni rispetto a un codificatore restituito da CreateForTranscodingAsync perché scrive le nuove proprietà nello spazio di riempimento vuoto anziché codificare nuovamente l'intera immagine.

Di seguito sono riportate diverse limitazioni per un codificatore recuperato in questo modo:

  • È possibile usare questi metodi solo nel codificatore:
  • L'input BitmapDecoder deve essere un codificatore creato in un flusso con accesso ReadWrite .
  • Non tutti i formati di metadati supportano la codifica rapida dei metadati. I gestori di metadati nativi che supportano i metadati sono IFD, Exif, XMP e GPS.
  • Il blocco di metadati deve avere una spaziatura interna sufficiente per archiviare le proprietà che si sta tentando di modificare. Se un'operazione di codifica non riesce per qualsiasi motivo, è necessario usare CreateForTranscodingAsync per modificare i metadati e codificare nuovamente l'immagine. Quando si ricrea la codifica, è anche possibile aggiungere una spaziatura interna nuova o aggiuntiva per abilitare la codifica delle proprietà sul posto in futuro. A tale scopo, creare un nuovo BitmapTypedValue con Type impostato su UInt32 e Value impostato sul numero di byte di spaziatura interna da aggiungere. Un valore tipico è 4096 byte. Impostare questo elemento di metadati in uno o più percorsi di query dei metadati in questa tabella.
    Formato metadatiQuery sui metadati JPEGQuery sui metadati TIFF, 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

    Si applica a