Author Topic: Lecture des données EXIF avec le plugin ImageMagick  (Read 1186 times)

0 Members and 1 Guest are viewing this topic.

JeGX

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1665
    • View Profile
    • Geeks3D.com
Lecture des données EXIF avec le plugin ImageMagick
« on: June 08, 2018, 11:20:11 AM »
Voici une version quelque peu abrégé de l'article suivant en anglais:

http://www.geeks3d.com/hacklab/20180608/how-to-read-exif-data-with-imagemagick-plugin/


Depuis GeeXLab 0.25+, il est possible de lire les données EXIF d'une image. Les données EXIF sont des informations supplémentaires comme la taille de l'image, l'ouverture, la focale, le temps d'exposition, la marque/modèle de l'appareil photo, etc. Ces données sont contenues dans une zone spéciale du fichier image.

Il est maintenant possible de lire cers données avec GeeXLab en utilisant des nouvelles fonctions de la librairie gh_imagemagick:

Code: [Select]
– file_exif_get_num_properties()
– file_exif_get_property()

En gros la première récupère le nombre de champs (ou propriétés) EXIF disponibles et la seconde donne le nom de la propriété et sa valeur.

Concrétement un petit bout de code Lua est plus parlant:

Code: [Select]
local num_props = gh_imagemagick.file_exif_get_num_properties(filename)

for i=1, num_props do
  local prop_name, prop_value = gh_imagemagick.file_exif_get_property(filename, i-1)
  print(prop_name .. " => " .. prop_value)
end

Les fonctions EXIF ne nécessitent que le fichier image. Pas besoin de créer un texture par exemple pour avoir accès aux informations.

Une démo est disponible avec GeeXLab dans le répertoire {GeeXLab folder}/app/magickview/

Pour tester la démo, il faut GeeXLab 0.25.1.0 sinon CRASH!

La démo montre aussi l'utilisation des autres fonctions de la librairie gh_imagemagick ainsi que l'utilisation des scripts de type DRAG_N_DROP. Grâce à ces scripts, on peut balancer une image depuis l'Explorer (ou le Finder) vers GeeXLab. En un mot c'est du drag'n'drop!  Le drag/drop n'est pas encore dispo pour les plateformes Linux/X11 mais j'y travaille...