Je cherche depuis quelques jours à récupérer les infos d'un jpg et de les modifier si possible.
j'aimerais qu'on m'explique pourquoi il est si difficile de trouver de l'informations la-dessus
merci
Je cherche depuis quelques jours à récupérer les infos d'un jpg et de les modifier si possible.
j'aimerais qu'on m'explique pourquoi il est si difficile de trouver de l'informations la-dessus
merci
Bonjour.
La raison est que le format jpeg a évolué, qu'il en existe de nombreuses versions, que ces diverses versions peuvent chacune héberger plusieurs formats de métadonnées (puisqu'il existe plusieurs formats exif, xmp, etc) et que ces formats sont en plus ouverts ou semi-ouverts, c'est à dire prévus pour accueillir des tags utilisateurs et que s'il existe des jeux normalisés de tags, il en existe aussi plusieurs qui sont propriétaires.
Exemple : un fichier jpeg (dans une version parmi d'autres) contient des métadonnées EXIF (mais peut-être pas, ou peut-être aussi XMP ou seulement XMP) et ces métadonnées contiennent données en dur mais aussi certains tags du jeu Dublin Core, le tout assaisonné de tags proprios du fabricant de l'appareil qui a pris l'image.
Bref ! C'est un joyeux foutoir ! Comme souvent avec les standards, il faut être prêt à déchiffrer des milliers de pages de docs éparpillées sur plusieurs standards, sous-standards et normes.
Heureusement, WPF fournit une interface standardisée pour consulter les données EXIF, XMP, IPTC, ID3 (et d'autres) d'une image et ce quel que soit son format. Cela dit, même en s'appuyant sur wpf, il reste à dénicher quelque part sur le web une liste des tags les plus répandus. Commencer par le dublin core serait une bonne idée.
Merci DonQuiche
je t'avoue que c'est pas évident mais je test et j'avance un peu, j'ai trouvé sur le net sur développer biensureun bout de code que j'ai maguouillé un peu.
et j'arrive à faire sortir quelques informations, j'aimerais maintenant être capable de les modifier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Dim MyPicture As Image Dim MyProperty As PropertyItem Dim PropertyValue As String MyPicture = Image.FromFile("C:\Users\Mario\Pictures\Avion\0034372.jpg") For Each id In MyPicture.PropertyItems Console.WriteLine(id.Id.ToString) MyProperty = MyPicture.GetPropertyItem(id.Id) PropertyValue = Encoding.ASCII.GetString(MyProperty.Value, 0, MyProperty.Len).TrimEnd(Chr(0)) Next
merci de m'aider
ps WPF c'est quoi ça ?
WPF, c'est ce que tu as utilisé dans ton bout de code.
WPF = Windows Presentation Foundation, la couche UI/médias de nouvelle génération introduite avec dotnet 3.0 (XAML, etc). Parmi cette couche se trouvent de nouvelles classes pour les images, remplaçant celles venant de GDI+ et situées dans l'espace de noms System.Drawing.
Bref, puisque tu as finit par découvrir ça en parallèle, passons.
Pour modifier les métadonnées, il va falloir utiliser un InPlaceBitmapMetadataWriter. Ce n'est pas trivial et un petit coup d'oeil à un exemple d'utilisation te sera bénéfique.
Merci beaucoup j'ai trouver quelque bout de code que je vais essayer d'ajuster et je vous reviens bientôt.
bonne journée![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager