Recuperer la date de prise de vue JPG

Signaler
Messages postés
78
Date d'inscription
samedi 12 avril 2003
Statut
Membre
Dernière intervention
19 juillet 2017
-
Messages postés
6930
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
25 septembre 2020
-
Bonjour à tous.

Dans propriété d'une image JPG dans l'onglet détails on peut retrouver la date de « Prise de vue » de cette photo.
Je voudrais savoir quel est l'instruction quipermetsousvb.net de récupérer cette date de création.
D'avance merci de votre aide


--

5 réponses

Messages postés
6930
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
25 septembre 2020
112
Messages postés
78
Date d'inscription
samedi 12 avril 2003
Statut
Membre
Dernière intervention
19 juillet 2017
2
Bonjour le pivert.
Merci de ta réponse cela marche parfaitement j'ai bien récupéré la date de la prise de vue.
Une fois que j'ai récupéré cette date je me dis la date de création du fichier avec cette nouvelle date mais problème au moment d'enregistrer mon fichier JPG j'ai une erreur car le fichier est utilisé par un autre processus et je ne sais pas comment libérer ce fichier.
Quelle instruction ne constitue.

-Je te donne ici le code que j'utilise pour récupérer ma date de prise de:

' on recupere la date de prise de vue
Dim img As Image = Image.FromFile(file)
Dim prop As PropertyItem = img.GetPropertyItem(&H9003)
Dim sDate As String = System.Text.Encoding.ASCII.GetString(prop.Value, 0, prop.Len).TrimEnd(Chr(0))

Bien à toi.
Messages postés
6930
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
25 septembre 2020
112
comme ceci:

  Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim fichier As String = "C:\Users\Public\Pictures\Pictures\Année 2003\Créte.jpg" 'adapter chemin
        Dim Repertoire As New System.IO.DirectoryInfo(fichier) 'infos fichier
        MessageBox.Show("Date de création: " & Repertoire.CreationTime.ToString)
        MessageBox.Show("Date du cliché: " & CStr(datecreate(fichier)))
    End Sub
    Public Function datecreate(ByVal Path As String) As Date
        Dim img As Image = Image.FromFile(Path)
        Dim prop As PropertyItem = img.GetPropertyItem(&H9003)
        Dim sDate As String = System.Text.Encoding.ASCII.GetString(prop.Value, 0, prop.Len).TrimEnd(Chr(0))
        Dim dateTimeOriginal As DateTime = DateTime.ParseExact(sDate, "yyyy:MM:dd HH:mm:ss", Nothing)
        Return dateTimeOriginal
    End Function

Messages postés
78
Date d'inscription
samedi 12 avril 2003
Statut
Membre
Dernière intervention
19 juillet 2017
2
Bonsoir le pivert et encore merci.
La récupération de la date de prise de vue ne me pose pas de problème là où je suis très ennuyé c'est que je désire modifier les dates de création du fichier et la date de dernière modification du fichier par cette date de prise de vue et lorsque je veux enregistrer le fichier j'ai un message d'erreur qui m'indique grosso modo que le fichier est déjà utilisé par un autre processus.
Aurait une solution ?
A+.
Dan

--
Messages postés
6930
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
25 septembre 2020
112
Oui, avec une petite astuce, mettre une autre image à la place au moment de la modification, comme ceci:

 PictureBox1.Image = Nothing
        PictureBox1.Image = My.Resources.essai


ayant mis auparavant une image nommée "essai" dans les Resources

Voilà