LIRE ET ÉCRIRE LES METADONNÉES EXIF, IPTC, PNG, GIF (FORMAT TIFF, JPEG, PNG, GIF

hackademius Messages postés 172 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 24 février 2008 - 4 août 2006 à 13:43
cs_pjouv Messages postés 1 Date d'inscription samedi 12 novembre 2011 Statut Membre Dernière intervention 13 novembre 2011 - 13 nov. 2011 à 12:02
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/38909-lire-et-ecrire-les-metadonnees-exif-iptc-png-gif-format-tiff-jpeg-png-gif-bmp

cs_pjouv Messages postés 1 Date d'inscription samedi 12 novembre 2011 Statut Membre Dernière intervention 13 novembre 2011
13 nov. 2011 à 12:02
Bonjour.
Je me permets de prendre contact avec vous, bien que je ne sois pas développeur professionnel : je ne me sers que de VBA.
J’aurais voulu me constituer sous Office Access 2007 (Windows XP) une base de données pour mes images, mais je souhaite à la fois lire les informations IPTC et les écrire pour qu’elles puissent être conservées indépendamment de la base.
(Je me sers pour le moment de XnView, mais l’interface ne me convient pas.)
D’après ce que je comprends, vos formulaires (frmMain.frm par exemple) sont prévus pour fonctionner indépendamment et non depuis une application Office.
La question est donc : y a-t-il un moyen d’utiliser votre code depuis VBA (lire et écrire les IPTC) ?
Merci d’avance pour votre réponse.
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
23 août 2010 à 13:16
Merci de ta réponse, je dois faire une erreur quelque part ! je testerais à nouveau.
A+
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
23 août 2010 à 12:59
salut Lermite222,

Dsl de la réponse tardive.

si c'est big endian, B9C8 doit donner &hB9C8 et 0003 doit donner &h0003.
Si c'est little endian, B9C8 doit donner &hC8B9 et 0003 doit donner &h0300.

Je ne vois rien d'anormal dans la gestion de l'endianess dans le code de CopyMemory.

ShareVB
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
19 juin 2010 à 22:04
Bonjour,
Tout d'abord, bravo pour le travail de documentation que cela a dù te prendre.
Je ne me sert pas de ton code qui ne convient pas à ce que je veux faire et je tombe sur un "os", tu emploi l'API CopyMemory pour transférer les données, j'emploi une autre méthode mais là n'est pas mon propos.
Quand tu est avec le type motorola tu inverse les 2 ou 4 bytes, c'est OK quand les derniers bytes ne sont pas à zéro mais si oui...
Ex 1 : &hB9 - &hC8 .. en sortie ont a donc &hC8B9, c'est OK j'ai la même chose
Ex 2 : &h00 - &h03 .. En sortie il me semble que celà devrait faire &h300 or en sortie de ta fonction CopyMemory j'ai &h3 ?
Je dois dire que je ne comprend pas ! j' contrôler le processus dans ta fonction et il me semble être conforme !
Si tu suis encore cette source aurais-tu une explication.
Merci.
A+
ggeu Messages postés 1 Date d'inscription samedi 22 août 2009 Statut Membre Dernière intervention 27 septembre 2009
27 sept. 2009 à 16:32
Dear Sir,

Well done, but I think there is an error in the CExifDirEnt.cls.

=================================
Case &H190&
GetTagName = "GlobalParametersIFD"
Data = GetDataFormatted()
Case &H190&
GetTagName = "ProfileType"
Select Case GetDataVariant()
Case 0
Data = "Unspecified"
Case 1
Data = "Group 3 FAX"
End Select
=================================

Must the second &H190& not be &H191&> "ProfileType" ??
Because &H190& => "GlobalParametersIFD" !!

Found this on the URL=
http://www.awaresystems.be/index.html


Best regards
soundpanther Messages postés 68 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 31 janvier 2009
17 janv. 2009 à 16:15
Bon travail
yo612 Messages postés 16 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 19 juillet 2007
19 juil. 2007 à 21:46
La fenêtre finale manque de clarté. Toutes les infos exif sont dispo les unes après les autres. Pas facile à lire. De plus il manque une info exif que je cherchais, c'est "Total Pictures". Cela indique le nombre de photos que l'appareil a pris depuis le début.
IrfanView donne cette information et j'aurais bien aimé la retrouver.

Une amélioration de l'interface serait souhaitable mais le coeur de la machine est quasi parfait et c'est l'essentiel, le reste c'est de la fioriture mais ça donne de la valeur au logiciel.
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
10 juil. 2007 à 20:41
salut,

Balitapiso> je n'ai pas photoshop, peux tu m'envoyer par mail l'image en question, comme indiqué dans le message privé que je t'ai envoyé...

ShareVB
balitaPiso Messages postés 1 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 1 juin 2007
1 juin 2007 à 21:36
Une remarque, les données IPTC ne sont pas visibles pour les TIFFs avec compression LZW dans Photoshop, XnView. Est-ce normal? merci pour la réponse
cs_M51 Messages postés 63 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 10 août 2007
5 oct. 2006 à 15:35
Toujours aussi bien commenté. j'utilisais déjà ton code pour l'IPTC et j'avais fait quelques commentaires pour la suppression des tags non possible. A première vue cela semble corrigé.
Je suis ravi de pouvoir lire/ecrire IPTC, EXIF, ... sous forme de classe.

Merci pour ton partage
hackademius Messages postés 172 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 24 février 2008
4 août 2006 à 13:43
trés utile, ca marche bien sur les photos de l'eos 350.
ca va me servir pour completer un serveur d'images , il affichera directement des donnée exif pour donner les infos sur les prises de vue.

Code propre , commenté , j'ai pas tout compris au fonctionnement mais le projet est bien.
merci.
Rejoignez-nous