BitmapEncoder.CreateForInPlacePropertyEncodingAsync(BitmapDecoder) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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:
- BitmapEncoder.BitmapProperties.GetPropertiesAsync
- BitmapEncoder.BitmapProperties.SetPropertiesAsync
- BitmapEncoder.FlushAsync Alle anderen Methoden schlagen fehl, wenn Sie sie aufrufen.
- 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.
Metadatenformat JPEG-Metadatenabfrage TIFF, 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: