Como obter as propriedades da imagem (HTML)
[ Este artigo destina-se aos desenvolvedores do Windows 8.x e do Windows Phone 8.x que escrevem aplicativos do Windows Runtime. Se você estiver desenvolvendo para o Windows 10, consulte documentação mais recente ]
Isso mostra como usar um objeto ImageProperties para recuperar as propriedades de um arquivo de imagem.
Se você não tem um objeto BitmapDecoder ou só precisa das propriedades de imagens usadas com frequência, recomendamos que você use a classe ImageProperties. ImageProperties lhe fornece os dados básicos, como título e data. Ele também fornece acesso para o sistema de propriedades Windows, que contém muitas propriedades usadas com frequência. Para saber mais, o namespace completo da propriedade do Windows pode ser encontrado em: Propriedades do Windows.
Observação Somente algumas propriedades têm suporte nos formatos e codecs de imagem. Para saber mais, veja Políticas de metadados de fotos.
O que você precisa saber
Tecnologias
- Compilando seu primeiro aplicativo do Tempo de Execução do Windows em JavaScript
- Windows.Storage.FileProperties.ImageProperties
- Propriedades do Windows
Pré-requisitos
- Presumimos que você consiga criar um aplicativo básico do Tempo de Execução do Windows em JavaScript. Para obter mais informações, veja Compilando seu primeiro aplicativo do Tempo de Execução do Windows em JavaScript.
- Você criou um objeto StorageFile pela imagem. O tópico Como decodificar uma imagem percorre com você o processo.
Instruções
Etapa 1: Obter um objeto de arquivo
Escreva o início de uma função que recebe um objeto StorageFile e declare as variáveis nas quais as propriedades recuperadas serão armazenadas.
function GetImageProperties(file) {
var title;
var orientation;
var aperture;
Declare as variáveis aqui para mantê-las no escopo.
Etapa 2: Recuperar uma propriedade básica
StorageFile tem um membro Properties que fornece acesso a propriedades relacionadas a conteúdo no arquivo. Você pode obter as propriedades de imagem usando properties.getImagePropertiesAsync.
file.properties.getImagePropertiesAsync().then(function (imageProperties) {
Quando você tem o objeto ImageProperties, pode obter imediatamente algumas propriedades comuns, como título e classificação.
title = imageProperties.title;
Observação Se a imagem não contém uma propriedade específica ou se o formato de imagem não oferece suporte a essa propriedade, ele retorna null. Você deve verificar a existência de cada propriedade antes de obtê-la.
Etapa 3: Recuperar uma propriedade do Windows
Você também pode solicitar de forma assíncrona uma propriedade do Windows aceita passando uma lista de nomes de chave de propriedade.para o imageProperties.retrievePropertiesAsync.
return imageProperties.retrievePropertiesAsync(["System.Photo.Orientation", “System.Photo.Aperture”]);
}).done(function (retrievedProperties) {
O objeto retrievedProperties é uma coleção de pares chave-valor, onde cada chave é o nome de propriedade do Windows que você solicitou e o valor são os dados correspondentes. Quando você chama a função de pesquisa, ela é síncrona. A função retrievePropertiesAsync manipula o processamento.
orientation = retrievedProperties.lookup("System.Photo.Orientation");
aperture = retrievedProperties.lookup("System.Photo.Aperture");
Observação Se a imagem não contém uma propriedade específica ou se o formato de imagem não oferece suporte a essa propriedade, ele retorna null. Você deve verificar a existência de cada propriedade antes de obtê-la.
Comentários
Você pode usar a BitmapPropertiesView para obter as propriedades do Windows, como ImageProperties. Mas ele fornece acesso de nível inferior às estruturas de metadados nativas no arquivo usando a linguagem de consulta de metadados do WIC. Para saber mais, veja Como ler metadados de imagem.