Condividi tramite


BitmapPropertiesView.GetPropertiesAsync(IIterable<String>) Metodo

Definizione

Recupera in modo asincrono una o più proprietà 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)

Parametri

propertiesToRetrieve

IIterable<String>

IEnumerable<String>

IIterable<Platform::String>

IIterable<winrt::hstring>

Raccolta di stringhe che rappresentano le chiavi delle proprietà o le query richieste. Le stringhe valide includono le proprietà di Windows e le query sui metadati del componente per l'immagine di Windows.

Restituisce

Oggetto che gestisce il recupero asincrono delle proprietà bitmap.

Implementazioni

M:Windows.Graphics.Imaging.IBitmapPropertiesView.GetPropertiesAsync(System.Collections.Generic.IEnumerable{System.String}) M:Windows.Graphics.Imaging.IBitmapPropertiesView.GetPropertiesAsync(System.Collections.Generic.IEnumerable{Platform::String}) M:Windows.Graphics.Imaging.IBitmapPropertiesView.GetPropertiesAsync(System.Collections.Generic.IEnumerable{winrt::hstring})
Attributi

Commenti

L'operazione asincrona produce una raccolta che rappresenta le chiavi delle proprietà immagine richieste e i relativi valori. I valori vengono archiviati come BitmapTypedValue, che contiene sia i dati effettivi che il PropertyType dei dati.

Un'immagine specifica può contenere solo alcune (o nessuna) delle proprietà richieste. In questo caso la raccolta avrà solo coppie chiave-valore per le proprietà trovate nell'immagine. È necessario verificare l'esistenza della proprietà prima di tentare di ottenere dati da esso:

bitmapPropertiesView.getPropertiesAsync(["System.Title"]).done(function (retrievedProperties) {
  if (retrievedProperties.hasKey("System.Title")) {
	  	var titleProperty = retrievedProperties.lookup("System.Title");
	  	var title = titleProperty.value;
	 }
});

Esecuzione di query per un blocco di metadati

Se si usa il linguaggio di query dei metadati per richiedere un blocco di metadati anziché una proprietà, il valore restituito è BitmapPropertiesView che rappresenta i metadati all'interno di tale blocco. È possibile richiedere tutti i metadati contenuti nel blocco da 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;
});

Enumerazione tramite tutti i metadati all'interno di un frame

È possibile richiedere tutto il contenuto di un blocco di metadati, inclusi i blocchi secondari e le proprietà, passando una raccolta vuota (lunghezza zero) di stringhe. In questo modo viene generata una raccolta contenente ogni sotto-blocco e proprietà all'interno dell'ambito di BitmapPropertiesView . In questo modo, è possibile recuperare in modo iterativo tutti i metadati contenuti in un frame di immagine.

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();
	}
});

Se il formato dell'immagine non supporta i metadati, avrà esito negativo con HRESULT WINCODEC_ERR_UNSUPPORTEDOPERATION.

Si applica a

Vedi anche