Données gps à inscrire dans l'EXIF d'une image jpg

Signaler
Messages postés
2
Date d'inscription
lundi 26 juillet 2004
Statut
Membre
Dernière intervention
14 juillet 2008
-
Messages postés
2
Date d'inscription
lundi 26 juillet 2004
Statut
Membre
Dernière intervention
14 juillet 2008
-
Bonjour

Je tente d'écrire mes données gps dans les property d'une image jpg.

J'ai examiné les codes sources, dont le meilleur, à mon avis, ExifWorks.

Lire et encoder ou écrire des données Texte (titre, etc.) est simple.

Lire les données gps comme la latitude est déjà plus difficile.

J'y arrive avec la fonction BitConverter.toInt32(DataByte,0) pour les degrés et BitConverter.toInt32(DataByte,8) pour les minutes.

Écrire est une toute autre affaire. Je n'arrive pas à partir des valeurs int vers leur conversion en byte dans le bon format.
BitConverter.getbytes(Degre) n'engendre pas le bon codage.
Bon. Si quelqu'un travaille sur ce genre de code, je pourrai échanger avec plus de détails.

François

FCUM

2 réponses

Messages postés
168
Date d'inscription
jeudi 28 juin 2001
Statut
Membre
Dernière intervention
18 octobre 2008
7
Salut,

Je ne connais pas précisément le problème que tu tentes de résoudre mais voilà peut être quelques pistes :

- Lorsque tu convertis les degrés avec ToInt32, tu indiques un startIndex à 8. Est-ce que tu prends en compte ce décalage de 8 octets quand tu vas écrire ce que te renvoie GetBytes ?

- GetBytes ne fait rien d'autre qu'appliquer des masques binaires en utilisant les opérateurs & et >>. Après, la seule différence qui peut intervenir entre ce que renvoie GetBytes et ce que tu veux avoir est l'ordre des octets. Ne pourrais-tu pas recoder GetBytes à ta convenance ?

En espérant avoir été utile...
Messages postés
2
Date d'inscription
lundi 26 juillet 2004
Statut
Membre
Dernière intervention
14 juillet 2008

Merci du message

Effectivement, GetBytes n'est pas la bonne fonction. Je ne sais laquelle prendre.
Pour les caractères, comme les tags title, etc, pas de problème à écrire.

Mon véritable problème est avec la fonction image.SetpropertyItem.

Je copie avec GetpropertyItem(2) pour la latitude à partir d'une image originale bien géoréférencée et fonctionnant sur Panoramio ou autres, puis je fais une copie de cette image, lui donne la Latitude par un Setproperty directement à partir du buffer lu au getpropertyItem, pourtant, après le image.save("...nouveauNom.jpg"), la nouvelle image à une relecture ne contient plus les données gps. ???

FCUM