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

Delphi Discussion :

lire la résolution d'un fichier JPEG dans ses EXIF


Sujet :

Delphi

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2017
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2017
    Messages : 337
    Points : 61
    Points
    61
    Par défaut lire la résolution d'un fichier JPEG dans ses EXIF
    Bonjour,
    je souhaiterais lire la résolution en DPI X et Y d'un JPEG par ses EXIF avec Delphi 10.3 mais aucun des codes que j'ai trouvé ne fonctionne avec ma version de Delphi.
    Merci de votre aide.
    Bien cordialement

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur développement en retraite
    Inscrit en
    Juin 2002
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement en retraite
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2002
    Messages : 402
    Points : 300
    Points
    300
    Par défaut
    J'utilise depuis plusieurs versions de Delphi, 7,10 et 11.3 actuellement le CCR Exif v1.5.0 que l'on trouve ici :

    https://github.com/esmondb/ccr-exif/tree/master

    Par contre je n'ai jamais vu DPI X et Y dans les Exif des photos. Le seul cas ou cela aurait un sens et une utilité c'est pour un fichier issu d'un scanner, mais je pense que les DPI sont normalisés sur les 2 axes.

    Cette information est indispensable venant de l'imprimante pour pouvoir imprimer les images correctement, mais cela n'a rien à voir avec les Exif.

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2017
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2017
    Messages : 337
    Points : 61
    Points
    61
    Par défaut
    finalement je vais laisser tomber les DPI X et les DPI Y

  4. #4
    Membre régulier
    Avatar de Alex64
    Homme Profil pro
    Senior . Formation : topographe
    Inscrit en
    Août 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Senior . Formation : topographe
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2014
    Messages : 58
    Points : 112
    Points
    112
    Billets dans le blog
    1
    Par défaut
    Bonjour

    j'ai trouvé ça sur le web
    http://sylvain.fish.free.fr/JPEG_SIZ..._jpeg_size.htm
    "le bonheur est la seule chose que l'on peut donner sans l'avoir" (Txiki)

  5. #5
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    1 791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 1 791
    Points : 5 758
    Points
    5 758
    Par défaut
    Si on veut connaître la résolution d'une image, on peut charger l'image en question dans un objet Delphi qui le permet et obtenir par ce biais, le nombre de pixels en X et Y.

    Quand aux DPI:

    Le DPI est le nombre de pixels distincts que l'on peut représenter (imprimer ou afficher) sur une ligne de 2,54cm, soit la largeur d'un pouce (inch) dans le système métrique anglais.

    Cela ne dépend donc pas simplement de l'image mais des capacités de représentation de l'image via un média (écran, imprimante, scanner, etc...)

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2017
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2017
    Messages : 337
    Points : 61
    Points
    61
    Par défaut
    ce n'est pas la taille de l'image que je veux connaître, ça c'est facile, c'est la résolution en DPI (nombre de pixels par pouces) qui est normalement dans les EXIF (regardez dans clic droit/propriétés/détails) sur une image JPEG scannée
    Mais l'installation du paquet que l'on m'a donné me semble trop compliqué pour moi et c'est un détail pour mon programme, l'utilisateur pouvant la rentrer manuellement donc je laisse tomber, désolé de vous avoir dérangé pour rien

  7. #7
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    Bonjour,
    La norme TIFF/EP nous dit :
    Citation Envoyé par 4.2 Image data
    The image width, i.e. horizontal or X dimension, is recorded as a binary value in the ImageWidth tag-field. The
    image width may be the shorter or longer dimension of the image, depending upon the orientation of the camera
    during image capture. The image orientation is defined by the Orientation tag-field. The image length, i.e. vertical
    or Y dimension, is recorded as a binary value in the ImageLength tag-field. The camera’s desired image output
    rendering resolution in the X-dimension, i.e. the horizontal dimension when the camera is normally oriented, is
    recorded using the XResolution tag-field, while the output resolution in the Y-dimension is recorded in the
    YResolution tag-field. The ResolutionUnits tag-value gives the units for the XResolution and YResolution values.

    These mandatory TIFF 6.0 tag-fields are typically used to determine the default size of the image on the
    screen. They do not indicate the sample spacing of the image sensor in an electronic still camera. The latter are
    given in the FocalPlaneXResolution, FocalPlaneYResolution, and FocalPlaneResolutionUnits tag-values.
    The pixel aspect ratio (ratio of the pixel width to pixel height) is determined by the ratio of the XResolution and
    YResolution values
    Les Tags concernés sont $011A et $011B pour les résolutions X et Y, et $920E, $920F, et $9210 pour celles du capteur (X, Y, unité).

    [EDIT] Et pour les lire, j'ai une unité pas finalisée (D5, portée/étendue incomplètement Lazarus puis réadaptée D11.3 en l'état) que je joins et qui s'utilise comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    procedure TForm1.Button1Click(Sender: TObject);
    var
      S: string;
      ExifDecoder: TlyExifDecoder;
      Erreur: integer;
    begin
      OpenPictureDialog1.Filter := '*.*';
     
      if OpenPictureDialog1.Execute() then
      begin
        S := OpenPictureDialog1.FileName;
     
        ExifDecoder := TlyExifDecoder.Create;
        if ExifDecoder.LoadFromFile(S, Erreur) then
        begin
     
          if ExifDecoder.HasExif then
          begin
     
            ShowMessage(ExifDecoder.TagToStr($011A));
     
          end
          else
          ShowMessage('Pas de données EXIF');
        end
        else
          ShowMessage('Erreur ' + Erreur.ToString);
        ExifDecoder.Free;
      end;
     
    end;
    Fichiers attachés Fichiers attachés
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2017
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2017
    Messages : 337
    Points : 61
    Points
    61
    Par défaut
    tu parles de la norme TIFF mais moi ce sont des JPEG !

  9. #9
    Membre averti
    Homme Profil pro
    Ingénieur développement en retraite
    Inscrit en
    Juin 2002
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement en retraite
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2002
    Messages : 402
    Points : 300
    Points
    300
    Par défaut
    Les Exif sont pour les JPEG, les TIFF et même pour les RAW.

  10. #10
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2017
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2017
    Messages : 337
    Points : 61
    Points
    61
    Par défaut
    intéressant, j'ai testé ton unité mais j'ai l'erreur -2 avec mon fichier JPEG
    mon fichier est celui-ci : https://www.sylvain-ard.fr/temp/img.jpeg
    je mets un lien car ça refuse de la joindre

  11. #11
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2017
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2017
    Messages : 337
    Points : 61
    Points
    61
    Par défaut
    ah si pardon je m'étais trompé de chemin mais maintenant ça me sort "pas de donnée EXIF"
    EDIT après avoir lu les EXIF sur un lecteur en ligne, je m'aperçois que mon image n'en a pas ! pourtant quand on fait clic droit/propriétés/détails on voit la résolution, est-ce que c'est dans les IPTC ?

    EDIT dans PhotoShop en faisant Fichier/Informations/Données brutes j'ai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 9.1-c002 79.dba3da3, 2023/12/13-05:06:49        ">
       <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
          <rdf:Description rdf:about=""
                xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
                xmlns:dc="http://purl.org/dc/elements/1.1/"
                xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/"
                xmlns:tiff="http://ns.adobe.com/tiff/1.0/"
                xmlns:exif="http://ns.adobe.com/exif/1.0/"
                xmlns:xmp="http://ns.adobe.com/xap/1.0/">
             <xmpMM:DocumentID>0C402F327D44A458D92A8622BEB2E28C</xmpMM:DocumentID>
             <xmpMM:InstanceID>0C402F327D44A458D92A8622BEB2E28C</xmpMM:InstanceID>
             <dc:format>image/jpeg</dc:format>
             <photoshop:ColorMode>3</photoshop:ColorMode>
             <tiff:ImageWidth>4159</tiff:ImageWidth>
             <tiff:ImageLength>5948</tiff:ImageLength>
             <tiff:BitsPerSample>
                <rdf:Seq>
                   <rdf:li>8</rdf:li>
                   <rdf:li>8</rdf:li>
                   <rdf:li>8</rdf:li>
                </rdf:Seq>
             </tiff:BitsPerSample>
             <tiff:PhotometricInterpretation>2</tiff:PhotometricInterpretation>
             <tiff:SamplesPerPixel>3</tiff:SamplesPerPixel>
             <tiff:XResolution>349/1</tiff:XResolution>
             <tiff:YResolution>349/1</tiff:YResolution>
             <tiff:ResolutionUnit>2</tiff:ResolutionUnit>
             <exif:ExifVersion>0231</exif:ExifVersion>
             <exif:ColorSpace>65535</exif:ColorSpace>
             <exif:PixelXDimension>4159</exif:PixelXDimension>
             <exif:PixelYDimension>5948</exif:PixelYDimension>
             <xmp:CreateDate>2024-03-24T19:57:35+01:00</xmp:CreateDate>
             <xmp:ModifyDate>2024-03-24T19:57:40+01:00</xmp:ModifyDate>
             <xmp:MetadataDate>2024-03-24T19:57:40+01:00</xmp:MetadataDate>
          </rdf:Description>
       </rdf:RDF>
    </x:xmpmeta>
    donc j'ai bien tiff:XResolution et tiff:YResolution, ce sont les IPTC ? comment lit-on ces informations et comme c'est du XML je suppose qu'il faut parser le XML aussi ?

  12. #12
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2017
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2017
    Messages : 337
    Points : 61
    Points
    61
    Par défaut
    sur une autre image scannée avec un scanner en 600 DPI pareil pas d'EXIF mais ceci dans les données brutes de PhotoShop :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 9.1-c002 79.dba3da3, 2023/12/13-05:06:49        ">
       <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
          <rdf:Description rdf:about=""
                xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
                xmlns:dc="http://purl.org/dc/elements/1.1/"
                xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/"
                xmlns:tiff="http://ns.adobe.com/tiff/1.0/"
                xmlns:exif="http://ns.adobe.com/exif/1.0/"
                xmlns:xmp="http://ns.adobe.com/xap/1.0/">
             <xmpMM:DocumentID>5631E893FD99A836B472B75366E1F16C</xmpMM:DocumentID>
             <xmpMM:InstanceID>5631E893FD99A836B472B75366E1F16C</xmpMM:InstanceID>
             <dc:format>image/jpeg</dc:format>
             <photoshop:ColorMode>3</photoshop:ColorMode>
             <tiff:ImageWidth>4962</tiff:ImageWidth>
             <tiff:ImageLength>7019</tiff:ImageLength>
             <tiff:BitsPerSample>
                <rdf:Seq>
                   <rdf:li>8</rdf:li>
                   <rdf:li>8</rdf:li>
                   <rdf:li>8</rdf:li>
                </rdf:Seq>
             </tiff:BitsPerSample>
             <tiff:PhotometricInterpretation>2</tiff:PhotometricInterpretation>
             <tiff:SamplesPerPixel>3</tiff:SamplesPerPixel>
             <tiff:XResolution>600/1</tiff:XResolution>
             <tiff:YResolution>600/1</tiff:YResolution>
             <tiff:ResolutionUnit>2</tiff:ResolutionUnit>
             <exif:ExifVersion>0231</exif:ExifVersion>
             <exif:ColorSpace>65535</exif:ColorSpace>
             <exif:PixelXDimension>4962</exif:PixelXDimension>
             <exif:PixelYDimension>7019</exif:PixelYDimension>
             <xmp:CreateDate>2024-03-22T16:38:34+01:00</xmp:CreateDate>
             <xmp:ModifyDate>2024-03-12T11:34:06+01:00</xmp:ModifyDate>
             <xmp:MetadataDate>2024-03-12T11:34:06+01:00</xmp:MetadataDate>
          </rdf:Description>
       </rdf:RDF>
    </x:xmpmeta>

  13. #13
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    Bonsoir,
    Pour la Ronce de Mougeot, le jpg est au format JFIF (tu peux trouver une explication du format dans la dernière page de mon tuto).
    Il démarre bien avec un marqueur application APP0 qui donne juste (16 octets) la résolution de l'image et l'absence de vignette, puis un marqueur APP2 (je ne suis pas allé plus loin).
    Le décodage du marqueur APP0 fournit la résolution de 349x349 ppi.
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  14. #14
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2017
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2017
    Messages : 337
    Points : 61
    Points
    61
    Par défaut
    j'ai trouvé cet utilitaire en ligne de commande que je pourrais lancer depuis Delphi : https://exiftool.org/ mais je ne trouve pas les paramètres à lui passer pour retrouver mes infos

  15. #15
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2017
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2017
    Messages : 337
    Points : 61
    Points
    61
    Par défaut
    je n'ai pas accès à phidels.com mon antivirus le bloque et quand je veux quand même y accéder j'ai une page blanche, si je comprend bien APP0 est dans les EXIF ? car exiftool me trouve aucun IPTC dans l'image, décidément c'est compliqué ces métadonnées !
    comment extraire le APP0 avec ton unité STP ?

  16. #16
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2017
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2017
    Messages : 337
    Points : 61
    Points
    61
    Par défaut
    finalement avec l'aide de chatGPT 4 j'ai réussi à extraire la résolution de l'APP0 avec ce code, chatGPT 3.5 avait complètement échoué :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    function getDPIJFIF(const NomFichier: string):integer;
    var
      FichierJPEG: TFileStream;
      MarqueurSOI, MarqueurAPP0, LongueurSegment: Word;
      Identifiant: array[0..4] of AnsiChar;
      Version: array[0..1] of Byte;
      Unites: Byte;
      XDensity, YDensity: Word; // Ajustement pour la lecture sur 2 octets
      ThumbnailWidth, ThumbnailHeight: Byte;
    begin
      FichierJPEG := TFileStream.Create(NomFichier, fmOpenRead or fmShareDenyWrite);
      try
        FichierJPEG.Read(MarqueurSOI, SizeOf(MarqueurSOI));
        MarqueurSOI := Swap(MarqueurSOI);
        if MarqueurSOI = $FFD8 then // Vérifie le marqueur SOI
        begin
          FichierJPEG.Read(MarqueurAPP0, SizeOf(MarqueurAPP0));
          MarqueurAPP0 := Swap(MarqueurAPP0);
          if MarqueurAPP0 = $FFE0 then // Marqueur APP0
          begin
            FichierJPEG.Read(LongueurSegment, SizeOf(LongueurSegment));
            LongueurSegment := Swap(LongueurSegment);
     
            FichierJPEG.Read(Identifiant, SizeOf(Identifiant)); // Lire l'identifiant "JFIF\0"
            FichierJPEG.Read(Version, SizeOf(Version)); // Lire la version
            FichierJPEG.Read(Unites, SizeOf(Unites)); // Lire les unités
            FichierJPEG.Read(XDensity, SizeOf(XDensity));
            XDensity := Swap(XDensity); // Ajustement pour la lecture
            FichierJPEG.Read(YDensity, SizeOf(YDensity));
            YDensity := Swap(YDensity); // Ajustement pour la lecture
            FichierJPEG.Read(ThumbnailWidth, SizeOf(ThumbnailWidth)); // Lire la largeur de la vignette
            FichierJPEG.Read(ThumbnailHeight, SizeOf(ThumbnailHeight)); // Lire la hauteur de la vignette
            case Unites of
              0:result:=300;//fallback
              1:result:=XDensity;//DPI
              2:result:= round(XDensity*2.54);//cm
            end;
     
            // Traitement des données extraites ici
          end
          else
          begin
            result:=300;
            // Le fichier ne commence pas par un segment APP0 valide
          end;
        end
        else
        begin
         result:=300;
         // Le fichier n'est pas un JPEG valide
        end;
      finally
        FichierJPEG.Free;
      end;
    end;

  17. #17
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Bonjour,

    Citation Envoyé par Sylvain255 Voir le message
    exiftool me trouve aucun IPTC dans l'image,
    C'est normal, il est question de JFIF ! Dans ton fichier il y a ça (entre autres) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [JFIF]          JFIFVersion                     : 1.01
    [JFIF]          ResolutionUnit                  : inches
    [JFIF]          XResolution                     : 349
    [JFIF]          YResolution                     : 349
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  18. #18
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Ci-dessous le pdf sur les EXIF qui présente la structure des JFIF en dernière page.

    Pour le décodage du segment en question, la procédure était restée en ToDo, comme beaucoup du reste Mais c'est trivial si on en connaît la structure.
    Images attachées Images attachées
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  19. #19
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2017
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2017
    Messages : 337
    Points : 61
    Points
    61
    Par défaut
    merci, comme dit dans un message plus haut c'est résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2013] Lire une variable d'un fichier Excel dans Access par VBA
    Par FHDLB dans le forum VBA Access
    Réponses: 3
    Dernier message: 05/09/2017, 11h31
  2. [Lazarus] Comment afficher un fichier jpeg dans un Timage ?
    Par FroggySeven dans le forum Lazarus
    Réponses: 2
    Dernier message: 24/05/2015, 10h21
  3. Copie efficace et rapide d'un fichier jpeg dans une autre destination
    Par Marginataman dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 03/09/2011, 11h37
  4. lire les données d'un fichier text dans un vecteur
    Par kruskal21 dans le forum MATLAB
    Réponses: 5
    Dernier message: 11/01/2011, 17h52
  5. Réponses: 5
    Dernier message: 20/08/2002, 18h01

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