Compartilhar via


BitmapPropertiesView.GetPropertiesAsync(IIterable<String>) Método

Definição

Recupera de forma assíncrona uma ou mais propriedades de 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)

Parâmetros

propertiesToRetrieve

IIterable<String>

IEnumerable<String>

IIterable<Platform::String>

IIterable<winrt::hstring>

Uma coleção de cadeias de caracteres que representam as chaves de propriedade ou consultas que estão sendo solicitadas. As cadeias de caracteres válidas incluem propriedades do Windows e consultas de metadados do Componente de Imagem do Windows.

Retornos

Objeto que gerencia a recuperação assíncrona das propriedades do bitmap.

Implementações

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})
Atributos

Comentários

A operação assíncrona produz uma coleção que representa as chaves de propriedade de imagem solicitadas e seus valores. Os valores são armazenados como BitmapTypedValue, que contém os dados reais e o PropertyType dos dados.

Uma imagem específica pode conter apenas algumas (ou nenhuma) das propriedades solicitadas. Nesse caso, a coleção terá apenas pares chave-valor para as propriedades que foram encontradas na imagem. Você precisa marcar para a existência da propriedade antes de tentar obter dados dela:

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

Consultar um bloco de metadados

Se você usar a linguagem de consulta de metadados para solicitar um bloco de metadados em vez de uma propriedade, o valor retornado será um BitmapPropertiesView representando os metadados dentro desse bloco. Você pode solicitar todos os metadados contidos no bloco do 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;
});

Enumerando todos os metadados dentro de um quadro

Você pode solicitar todo o conteúdo de um bloco de metadados, incluindo subconjuntos e propriedades, passando uma coleção vazia (de comprimento zero) de cadeias de caracteres. Isso produz uma coleção que contém cada subconjunto e propriedade dentro do escopo de BitmapPropertiesView . Dessa forma, você é capaz de recuperar iterativamente todos os metadados contidos em um quadro de imagem.

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 o formato de imagem não der suporte a metadados, ele falhará com o HRESULT WINCODEC_ERR_UNSUPPORTEDOPERATION.

Aplica-se a

Confira também