Après avoir compris comment installer de nouveaux paquets gem sous Aptana, voyons comment en utiliser un.
Lorsque vous prenez une photo avec un appareil numérique, quel qu'il soit, diverses données sont fournies avec l'image. Notamment au niveau des conditions de prise de vue, de la configuration de l'appareil. Ou encore du logiciel de retouche utilisé. C'est ce que l'on appelle les données exif. Il peut être sympathique d'obtenir et d'afficher ces données. C'est ce que permet exifr.
Tout d'abord, apparemment, l'image doit forcément être en local. Il n'est pas possible d'obtenir directement les données d'une image distante. A moins évidemment de rapatrier l'image en local et de la traiter ;)
Après avoir installé le gem, nous le chargeons donc avant la déclaration de notre contrôleur :
require 'exifr'
Puis dans une action, nous chargeons la photo de notre choix :
@image = EXIFR::JPEG.new('/home/mon_image.jpg')
Nous avons donc maintenant un objet @image qui contient les informations exif de notre photo. Ainsi, vous pourrez connaitre la marque de l'appareil utilisé avec :
puts @image.exif.model
Et obtenir toutes les informations disponibles avec (dans la vue) :
- <% @image.exif.to_hash.each_pair do |k,v| %>
- <%=k.to_s.rjust(30) %> : <%=v.to_s %> <% end %>
- make : Canon
- model : Canon EOS 350D DIGITAL
- x_resolution : 240
- y_resolution : 240
- resolution_unit : 2
- date_time : mer. juin 18 16:43:28 +0200 2008
- artist : unknown
- exposure_time : 1/60
- f_number : 4
- exposure_program : 3
- iso_speed_ratings : 1600
- date_time_original : mer. juin 18 11:38:48 +0200 2008
- date_time_digitized : mer. juin 18 11:38:48 +0200 2008
- shutter_speed_value : 5906891/1000000
- aperture_value : 4
- exposure_bias_value : 0
- max_aperture_value : 95/32
- metering_mode : 5
- flash : 16
- focal_length : 90
- focal_plane_x_resolution : 1728000/437
- focal_plane_y_resolution : 384000/97
- focal_plane_resolution_unit : 2
- custom_rendered : 0
- exposure_mode : 0
- white_balance : 0
- scene_capture_type : 0



Commentaires
Je vous laisse ce petit message pour vous remercier de ces explications, cet article est le plus clair que j'ai trouvé ;)