BitmapPropertiesView.GetPropertiesAsync(IIterable<String>) 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.
Ruft asynchron eine oder mehrere Bitmapeigenschaften ab.
public:
virtual IAsyncOperation<BitmapPropertySet ^> ^ GetPropertiesAsync(IIterable<Platform::String ^> ^ propertiesToRetrieve) = GetPropertiesAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<BitmapPropertySet> GetPropertiesAsync(IIterable<winrt::hstring> const& propertiesToRetrieve);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<BitmapPropertySet> GetPropertiesAsync(IEnumerable<string> propertiesToRetrieve);
function getPropertiesAsync(propertiesToRetrieve)
Public Function GetPropertiesAsync (propertiesToRetrieve As IEnumerable(Of String)) As IAsyncOperation(Of BitmapPropertySet)
Parameter
Eine Auflistung von Zeichenfolgen, die die angeforderten Eigenschaftenschlüssel oder Abfragen darstellen. Gültige Zeichenfolgen umfassen Windows-Eigenschaften und Metadatenabfragen der Windows-Imageerstellungskomponente.
Gibt zurück
Objekt, das den asynchronen Abruf der Bitmapeigenschaften verwaltet.
Implementiert
- Attribute
Hinweise
Der asynchrone Vorgang erzeugt eine Auflistung, die die angeforderten Imageeigenschaftenschlüssel und deren Werte darstellt. Die Werte werden als BitmapTypedValue gespeichert, das sowohl die tatsächlichen Daten als auch den PropertyType der Daten enthält.
Ein bestimmtes Bild darf nur einige (oder keine) der angeforderten Eigenschaften enthalten. In diesem Fall enthält die Auflistung nur Schlüssel-Wert-Paare für die Eigenschaften, die im Bild gefunden wurden. Sie müssen überprüfen, ob die Eigenschaft vorhanden ist, bevor Sie versuchen, Daten von ihr abzurufen:
bitmapPropertiesView.getPropertiesAsync(["System.Title"]).done(function (retrievedProperties) {
if (retrievedProperties.hasKey("System.Title")) {
var titleProperty = retrievedProperties.lookup("System.Title");
var title = titleProperty.value;
}
});
Abfragen eines Metadatenblocks
Wenn Sie die Metadatenabfragesprache verwenden, um einen Metadatenblock anstelle einer Eigenschaft anzufordern, ist der zurückgegebene Wert ein BitmapPropertiesView , der die Metadaten in diesem Block darstellt. Sie können alle Metadaten, die im Block enthalten sind, über BitmapPropertiesView anfordern:
// this is equivalent to directly requesting "/app1/ifd/{ushort=274}" from bitmapPropertiesView
bitmapPropertiesView.getPropertiesAsync(["/app1/ifd"]).done(function (retrievedProperties) {
// var ifdBlock is a BitmapPropertiesView
var ifdBlock = retrievedProperties.lookup("/app1/ifd").value;
return ifdBlock.getPropertiesAsync(["/{ushort=274}");
}).then(function (retrievedProperties) {
var orientation = retrievedProperties.lookup("/{ushort=274}").value;
});
Auflisten aller Metadaten in einem Frame
Sie können den gesamten Inhalt eines Metadatenblocks anfordern, einschließlich Unterblöcken und Eigenschaften, indem Sie eine leere Sammlung von Zeichenfolgen (länge null) übergeben. Dadurch wird eine Auflistung erzeugt, die jeden Unterblock und jede Eigenschaft innerhalb des Bereichs von BitmapPropertiesView enthält. Auf diese Weise können Sie alle Metadaten, die in einem Bildrahmen enthalten sind, iterativ abrufen.
bitmapPropertiesView.getPropertiesAsync([]).done(function (retrievedProperties) {
var iterator = retrievedProps.first();
while (iterator.hasCurrent) {
// iterator.current gives a key-value pair of string, BitmapTypedValue
// nextMetadataBlock is a BitmapPropertiesView containing the sub-block
var nextMetadataBlock = iterator.current.value.value;
iterator.moveNext();
}
});
Wenn das Bildformat keine Metadaten unterstützt, schlägt es mit HRESULT-WINCODEC_ERR_UNSUPPORTEDOPERATION fehl.