BitmapEncoder.CreateForInPlacePropertyEncodingAsync(BitmapDecoder) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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:
- BitmapEncoder.BitmapProperties.GetPropertiesAsync
- BitmapEncoder.BitmapProperties.SetPropertiesAsync
- BitmapEncoder.FlushAsync Qualsiasi altro metodo avrà esito negativo se li chiami.
- 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 metadati Query sui metadati JPEG Query 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