Copier les métadonnées EXIF ​​de TIF au format JPEG en C # / VB.NET

voix
1

Je serais vraiment reconnaissant si vous pouviez faire la lumière sur ce problème. J'ai 2 images, il a été créé à partir du fichier TIF avec des métadonnées, l'autre est une image en mémoire qui sera enregistré en tant que jpeg. Ensuite, j'utilise cette routine pour transférer les métadonnées EXIF ​​à partir de la première image à la seconde (qui est de celui créé à partir du fichier tif à l'image en mémoire):

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

Et cela fonctionne parfaitement bien. Tous les éléments sont copiés exif. Je confirme cela en utilisant les montres en mode débogage. Le problème vient lorsque vous enregistrez image2 comme 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)

Très peu de propriétés EXIF ​​sont enregistrées avec le fichier image2 jpeg cependant, à savoir que le modèle de la caméra et le fabricant de l'appareil photo. Toutefois, si je sauve image2 TIF, toutes les propriétés de la TIF originale seront là. Quelqu'un peut-il expliquer pourquoi est-ce?

Merci.

Créé 02/07/2009 à 11:38
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
0

Jetez un oeil à Exiv2Sharp - cette enveloppe autour Exiv2 devrait fournir ce que vous cherchez.

Créé 02/07/2009 à 12:06
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more