Cuando una cámara saca una foto, añade una serie de metadatos o propiedades que definen ciertas características de la imagen. Estos metadatos se basan en la especificación Exif y definen el fabricante del dispositivo con el que se hizo la foto, el modelo, la orientación, la fecha y hora en la que la foto fue tomada, la resolución, la geolocalización, etc.
En Windows 8 tenemos una clase específica, ImageProperties, que nos permite acceder a algunas de esas propiedades, a través de un StorageFile o de un FileInformation. Veamos como acceder a ellas mediante un StorageFile.
Para obtener una imágen, tenemos que acceder primero a la carpeta, en esta caso vamos a obtener una carpeta específica que se encuentra dentro del PicturesLibrary.
StorageFolder picturesFolder = KnownFolders.PicturesLibrary;
StorageFolder folder = await picturesFolder.GetFolderAsync("MVP Summit 2012");
De esa carpeta específica, obtenemos la imagen del StorageFile que queremos mostrar con y sus propiedades:
var picture = await folder.GetFileAsync("WP_000149.jpg");
var imageProperties = await m_StorageFile.Properties.GetImagePropertiesAsync();
var latitude = imageProperties.Latitude;
var longitude = imageProperties.Longitude;
var manufacturer = imageProperties.CameraManufacturer;
var model = imageProperties.CameraModel;
.....
(la foto fueron las primeras pruebas de resistencia de un tablet con Windows 8 del maestro Gustavo Vélez)
Si necesitamos acceder al resto de propiedades, tenemos el método StorageFile.Properties.RetrievePropertiesAsync que devuelde un Dictionary con las propiedades que necesitemos.
Saludos a todos…
Para obtener la geo-posición de una foto, tenemos que extraer la información Exif que se encuentra en