ImageEn for Delphi and C++ Builder ImageEn for Delphi and C++ Builder

 

ImageEn Forum
Profile    Join    Active Topics    Forum FAQ    Search this forumSearch
 All Forums
 ImageEn Library for Delphi, C++ and .Net
 ImageEn and IEvolution Support Forum
 Possible error in EXIF_FocalLengthIn35mmFilm

Note: You must be registered in order to post a reply.
To register, click here. Registration is FREE!

View 
UserName:
Password:
Format  Bold Italicized Underline  Align Left Centered Align Right  Horizontal Rule  Insert Hyperlink   Browse for an image to attach to your post Browse for a zip to attach to your post Insert Code  Insert Quote Insert List
   
Message 

 

Emoji
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Black Eye [B)]
Frown [:(] Shocked [:0] Angry [:(!] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

 
Check here to subscribe to this topic.
   

T O P I C    R E V I E W
jrpcguru Posted - Sep 29 2016 : 21:06:16




I've attached a file which I downloaded today. I was not surprised that it had little Exif data recorded, but I was surprised when the EXIF_FocalLengthIn35mmFilm reported the lens was 2147483647mm. I thought you might want to inspect and see how this happened and consider whether to error trap your code to prevent reporting such large numbers. My program gave a range error which led me to discover this situation. I confirmed it with your EXIF demo program by adding the ability to report EXIF_FocalLengthIn35mmFilm.

J.R.
2   L A T E S T    R E P L I E S    (Newest First)
jrpcguru Posted - Oct 22 2016 : 16:50:59
Thanks for addressing this. Now if I only had time to install and use all of your recent updates!
Apparently the 35mm focal length for this image is just plain wrong since 3mm would be quite a fish eye view.

J.R.
xequte Posted - Oct 20 2016 : 16:23:02
Thanks, we have investigated.

EXIF_FocalLengthIn35mmFilm (exif tag 0xa405) should be a SHORT (16 bit unsigned integer) according to the TIFF specs, but this image stores the tag as RATIONAL (a floating point value).

We have updated ImageEn to truncate floating point values to integer, when an integer is expected but a rational is found.

So now IO.Params.EXIF_FocalLengthIn35mmFilm returns 3 for this image (truncated from 3.882).

Nigel
Xequte Software
www.xequte.com
nigel@xequte.com