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

charbonn Messages postés 2 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 14 juillet 2008 - 13 juil. 2008 à 19:56
charbonn Messages postés 2 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 14 juillet 2008 - 14 juil. 2008 à 17:01
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
A voir également:

2 réponses

cs_niky Messages postés 168 Date d'inscription jeudi 28 juin 2001 Statut Membre Dernière intervention 18 octobre 2008 7
13 juil. 2008 à 23:05
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...
0
charbonn Messages postés 2 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 14 juillet 2008
14 juil. 2008 à 17:01
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
0
Rejoignez-nous