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
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
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.
finalement je vais laisser tomber les DPI X et les DPI Y
Bonjour
j'ai trouvé ça sur le web
http://sylvain.fish.free.fr/JPEG_SIZ..._jpeg_size.htm
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...)
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
Bonjour,
La norme TIFF/EP nous dit :
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é).Envoyé par 4.2 Image data
[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;
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 !
Partager