martedì 25 agosto 2015

Leggere i dati EXIF di un'immagine

Se lavorate con le immagini e volete avere qualche informazione in più rispetto al semplice comando:

put the detailed files

vi conviene utilizzare la libreria gratuita per leggere i dati EXIF di Alex Tweedlyhttp://tweedly.org/showpage.lc?page=EXIFLib 
o da qui:  https://github.com/angerangel/livecodeExif
Qui vedete un esempio:
che potete scaricare cliccando qui.
L'uso è semplicissimo, basta dare in basto alla funzione exifProcessFile() il percorso completo del file, preceduto da binfile: (come tutti gli URL per file binari)  e come secondo parametro true.
Il secondo parametro serve per decidere se considerare solo i tag EXIF noti (false) oppure tutti (true).
Ad esempio:

put exifProcessFile("binfile:ImmagineVacanza.jpg", true)


vi restituirà questa lista:

Image ,Make,Research In Motion,ASCII,134
Image ,Model,BlackBerry 9700,ASCII,154
Image ,Orientation,1,Short,42
Image ,XResolution,72/1,Ratio,170
Image ,YResolution,72/1,Ratio,178
Image ,ResolutionUnit,Pixels/Inch,Short,78
Image ,Software,Rim Exif Version1.00a,ASCII,186
Image ,DateTime,2010:11:17 23:28:41,ASCII,208
Image ,YCbCrPositioning,2,Short,114
Image ,ExifOffset,228,Long,126
EXIF ,ExposureTime,0/1,Ratio,366
EXIF ,ExifVersion,0220,String,250
EXIF ,DateTimeOriginal,2010:11:17 23:28:41,ASCII,374
EXIF ,ComponentsConfiguration,,Undefined,274
EXIF ,SubjectDistance,0/1,Ratio,394
EXIF ,LightSource,Unknown,Short,298
EXIF ,Flash,Not Available,Short,310
EXIF ,ColorSpace,1,Short,322
EXIF ,ExifImageWidth,2048,Short,334
EXIF ,ExifImageLength,1536,Short,346
EXIF ,Tag a40b,,Undefined,358

Come vedete la lista è divisa in tag che riguardano l'immagine e dati solo per EXIF.