IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Comment fait-on pour récupérer les infos d'une image


Sujet :

VB.NET

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut Comment fait-on pour récupérer les infos d'une image
    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

  2. #2
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 485
    Points
    5 485
    Par défaut
    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.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut
    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 biensure un bout de code que j'ai maguouillé un peu.

    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
    et j'arrive à faire sortir quelques informations, j'aimerais maintenant être capable de les modifier.

    merci de m'aider

    ps WPF c'est quoi ça ?

  4. #4
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 485
    Points
    5 485
    Par défaut
    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.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut
    Merci beaucoup j'ai trouver quelque bout de code que je vais essayer d'ajuster et je vous reviens bientôt.

    bonne journée

Discussions similaires

  1. Comment faites-vous pour récupérer la valeur d'une liste dynamique ?
    Par Cvbdev dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 03/06/2010, 09h01
  2. Réponses: 3
    Dernier message: 20/10/2008, 12h10
  3. Réponses: 3
    Dernier message: 23/05/2007, 23h52
  4. Réponses: 7
    Dernier message: 06/04/2007, 17h53
  5. [Configuration] Comment faites-vous pour séparer les paramètres offline/online
    Par robichou dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 20/02/2007, 02h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo