Question

J'apprécierais vraiment que vous puissiez faire la lumière sur ce problème.J'ai 2 images, l'une a été créée à partir d'un fichier TIF avec des métadonnées, l'autre est une image en mémoire qui sera enregistrée au format JPEG.Ensuite, j'utilise cette routine pour transférer les métadonnées exif de la première image vers la seconde (c'est-à-dire de celle créée à partir du fichier tif vers l'image en mémoire) :

For Each _p In image1.PropertyItems
   image2.SetPropertyItem(_p)
Next

Et cela fonctionne parfaitement bien.Tous les éléments exif sont copiés avec succès.Je l'ai confirmé en utilisant des montres en mode débogage.Le problème survient lorsque vous enregistrez l'image2 au format JPEG en utilisant ceci :

    Dim eps As EncoderParameters = New EncoderParameters(1)
    eps.Param(0) = New EncoderParameter(Encoder.Quality, 85)
    Dim ici As ImageCodecInfo = GetEncoderInfo("image/jpeg")
    image2.Save("C:\1.jpg", ici, eps)

Cependant, seules très peu de propriétés EXIF ​​sont enregistrées avec le fichier jpeg image2, à savoir uniquement le modèle d'appareil photo et le fabricant de l'appareil photo.Cependant, si j'enregistre l'image2 au format TIF, toutes les propriétés du tif d'origine seront là.Quelqu'un peut-il expliquer pourquoi ?

Merci.

Était-ce utile?

La solution

Jeter un coup d'œil à Exiv2Sharp - ce wrapper autour d'Exiv2 devrait fournir ce que vous recherchez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top