BitmapPropertiesView.GetPropertiesAsync(IIterable<String>) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Récupère de manière asynchrone une ou plusieurs propriétés bitmap.
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)
Paramètres
Collection de chaînes représentant les clés de propriété ou les requêtes demandées. Les chaînes valides incluent les propriétés Windows et les requêtes de métadonnées du composant d’acquisition d’images Windows.
Retours
Objet qui gère la récupération asynchrone des propriétés bitmap.
Implémente
- Attributs
Remarques
L’opération asynchrone produit une collection représentant les clés de propriété d’image demandées et leurs valeurs. Les valeurs sont stockées sous la forme BitmapTypedValue, qui contient à la fois les données réelles ainsi que le PropertyType des données.
Une image particulière ne peut contenir qu’une partie (ou aucune) des propriétés demandées. Dans ce cas, la collection n’aura que des paires clé-valeur pour les propriétés qui ont été trouvées dans l’image. Vous devez case activée pour l’existence de la propriété avant d’essayer d’obtenir des données à partir de celle-ci :
bitmapPropertiesView.getPropertiesAsync(["System.Title"]).done(function (retrievedProperties) {
if (retrievedProperties.hasKey("System.Title")) {
var titleProperty = retrievedProperties.lookup("System.Title");
var title = titleProperty.value;
}
});
Interrogation d’un bloc de métadonnées
Si vous utilisez le langage de requête de métadonnées pour demander un bloc de métadonnées au lieu d’une propriété, la valeur retournée est un BitmapPropertiesView représentant les métadonnées de ce bloc. Vous pouvez demander toutes les métadonnées contenues dans le bloc à partir de BitmapPropertiesView :
// 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;
});
Énumération de toutes les métadonnées d’un cadre
Vous pouvez demander tout le contenu d’un bloc de métadonnées, y compris les sous-blocs et les propriétés, en transmettant une collection vide (de longueur nulle) de chaînes. Cela produit une collection contenant chaque sous-bloc et chaque propriété dans l’étendue de BitmapPropertiesView . De cette façon, vous pouvez récupérer de manière itérative toutes les métadonnées contenues dans un cadre d’image.
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();
}
});
Si le format d’image ne prend pas en charge les métadonnées, il échoue avec hresult WINCODEC_ERR_UNSUPPORTEDOPERATION.