Bonjour à tous,
J'ai passé déjà pas mal d'heures sur le net pour trouver une solution à mon problème, en vain. Alors je me suis décidé à poster ma question ici; peut-être quelqu'un aura-t-il une piste pour m'aider.
Mon problème est simple: j'essaie de récupérer certaines données EXIF de mes photos. J'utilise notamment une fonction pour récupérer la date de prise de vue, avec le code ci-dessous:
Ce code fonctionne parfaitement bien pour toutes mes photos au format JPG. Par contre, dès lors que je tombe sur des fichiers au format RAW (extension ".RW2" pour les boîtiers Panasonic), j'obtiens systématiquement une exception du type:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Public Function datecreate(ByVal Path As String) As String 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) Dim datefinale As String datefinale = Mid$(dateTimeOriginal, 7, 4) & "_" & Mid$(dateTimeOriginal, 1, 2) & "_" & Mid$(dateTimeOriginal, 4, 2) Return datefinale End Function
J'ai pas mal galéré pour tenter d'identifier la cause du problème, mais je ne suis pas un expert du VB. J'ai essayé de passer par la méthode "FromStream" plutôt que "FromFile"; le message d'erreur change, mais au final il y a toujours une exception et ça ne fonctionne pas.Une exception de première chance de type 'System.OutOfMemoryException' s'est produite dans System.Drawing.dll
Si quelqu'un a une idée, je suis preneur...
Merci d'avance,
Jimbo
Partager