[WP 8.1] Lire et Sauvegarder des metadata sur les images

apr 04, 2014 7:09 am by Julien

Vous vous souvenez de ce qu'on faisait pour lire des metadata et les sauvegarder sur la photo ? Non ? C'est normal car on ne pouvait pas. Pour lire les metadata on devait utiliser une librairier tierce et pour sauvegarder les metadata on devait bidouiller puis enregistrer une nouvelle photo!

Oui mais ca c'était avant ! 

Sachez, messieurs et mesdames, qu'avec WP8.1 tout cela et fini !

Lire des metadata :

 

var files = await Windows.Storage.KnownFolders.CameraRoll.GetFilesAsync();
foreach (var file in files)
{
await file.Properties.RetrievePropertiesAsync(new List<string>());
}

Facile non ? Sachez que vous pouvez spécifier la liste des metadata en parametres de la fonction, passer une liste a poiur effet de tout recuperer !

Ecrire des metadata :

 

var metadatas = new Dictionary<string, object>();
var dmsCoordinate = point.DecimalToDmsCoordinate();
            var referenceCoordinate = point.GetCoordinateReference();

            metadatas.Add("System.GPS.LongitudeNumerator", dmsCoordinate[1]);
            metadatas.Add("System.GPS.LongitudeDenominator", denominator);
            metadatas.Add("System.GPS.LongitudeRef", referenceCoordinate[1]);

            metadatas.Add("System.GPS.LatitudeNumerator", dmsCoordinate[0]);
            metadatas.Add("System.GPS.LatitudeDenominator", denominator);
            metadatas.Add("System.GPS.LatitudeRef", referenceCoordinate[0]);
await file.Properties.SavePropertiesAsync(metadatas);

Et voila ! Et cette fois ci ca enregistre sur la photo originale !

Voici les sources du projet avec en bonus un helper pour manipuler les metadatas :)

Source :

TestPhoto.rar (129.97 kb)

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading