Freigeben über


BitmapEncoder.CreateForInPlacePropertyEncodingAsync(BitmapDecoder) Methode

Definition

Erstellt asynchron einen neuen BitmapEncoder für die direkte Bearbeitung von Eigenschaften und Metadaten. Der neue Encoder kann Bitmapeigenschaften nur vor Ort bearbeiten und schlägt bei anderen Verwendungen fehl.

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)

Parameter

bitmapDecoder
BitmapDecoder

Ein BitmapDecoder , der die zu bearbeitenden Bilddaten enthält. Dieser Parameter muss für einen Stream mit dem Zugriffsmodus ReadWrite erstellt werden.

Hinweis

Der Encoder schreibt in den Stream, für den der ursprüngliche BitmapDecoder erstellt wurde. Sie können keinen Ausgabedatenstrom angeben.

Gibt zurück

Ein -Objekt, das die asynchrone Initialisierung eines neuen BitmapEncoders mithilfe von Daten aus einem vorhandenen BitmapDecoder verwaltet.

Attribute

Hinweise

Verwenden Sie diese Methode, um einen Encoder abzurufen, wenn Sie ihn nur zum Bearbeiten oder Schreiben einer begrenzten Anzahl von Eigenschaften in das Bild verwenden möchten. Ein auf diese Weise abgerufener Encoder kann einen Leistungsvorteil gegenüber einem von CreateForTranscodingAsync zurückgegebenen Encoder bieten, da er die neuen Eigenschaften in leerer Auffüllung schreibt, anstatt das gesamte Bild erneut zu codieren.

Hier sind einige Einschränkungen für einen Encoder, der auf diese Weise abgerufen wird:

  • Sie können nur die folgenden Methoden für den Encoder verwenden:
  • Bei der BitmapDecoder-Eingabe muss es sich um einen Encoder handeln, der für einen Stream mit ReadWrite-Zugriff erstellt wurde.
  • Nicht alle Metadatenformate unterstützen die schnelle Metadatencodierung. Die nativen Metadatenhandler, die Metadaten unterstützen, sind IFD, Exif, XMP und GPS.
  • Der Metadatenblock muss über genügend Auffüllung verfügen, um die Eigenschaften zu speichern, die Sie bearbeiten möchten. Wenn ein Codierungsvorgang aus irgendeinem Grund fehlschlägt, müssen Sie CreateForTranscodingAsync verwenden, um die Metadaten zu bearbeiten und das Bild neu zu codieren. Wenn Sie neu codieren, können Sie auch neue oder zusätzliche Auffüllungen hinzufügen, um die direkte Eigenschaftencodierung in Zukunft zu ermöglichen. Erstellen Sie hierzu einen neuen BitmapTypedValue , wobei Type auf UInt32 und Value auf die Anzahl der Bytes der Auffüllung festgelegt ist, die Sie hinzufügen möchten. Ein typischer Wert ist 4096 Bytes. Legen Sie dieses Metadatenelement für mindestens einen der Metadatenabfragespeicherorte in dieser Tabelle fest.
    MetadatenformatJPEG-MetadatenabfrageTIFF, JPEG-XR-Metadatenabfrage
    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

    Gilt für: