J'ai trouvé quelques librairie mais la complexité était trop grande, que j'ai décidé de coder moi même (en m'aidant d'exemples du site msdn) la fonction de récupération.
Code
public void getImageNameFromExif(string imagePath) { //On charge la photo Bitmap photo = new Bitmap(imagePath); //On récupère les metadata PropertyItem[] pi = photo.PropertyItems; //On récupère la date (voir exif.org pour le code/tag Original DateTime) PropertyItem dateItem = photo.GetPropertyItem(36867); //On récupère la valeur de la propriété Encoding ascii=Encoding.ASCII; string dateString = ascii.GetString(dateItem.Value, 0, dateItem.Len - 1); //On convertit la chaine de caractère récupérée en DateTime string format = "yyyy:MM:dd hh:mm:ss"; DateTime date = DateTime.ParseExact(dateString, format, CultureInfo.InvariantCulture); //On génère le nom du fichier. string format_out = "{0:yyyy/MM/dd/yyyyMMdd_hhmmss}"; String outFile = String.Format(format_out, date); String targetPath = this.basePath + "/" + outFile + ".jpg"; //On affiche pour debug Console.WriteLine(targetPath); }
Là non plus, ce n'est pas trop compliqué mais sans aide, il serait impossible de trouver seul certaines 'astuces'
Aucun commentaire:
Enregistrer un commentaire