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