T O P I C R E V I E W |
Patrick Quinn |
Posted - Aug 25 2011 : 14:46:40 Hi
I am getting some strange things happening when using an ImageEnView and EnableAdjustOrientation with RAW files taken in portrait mode.
(RAW files are from a Nikon D50 SLR.)
When using the dcrawlib dll: If EnableAdjustOrientation is false, EXIF rotation is WORKING on RAW files. If EnableAdjustOrientation is true, EXIF rotation seems to be applied TWICE, as the displayed image is 180 degrees different to the thumbnail.
(When NOT using the dcrawlib dll EnableAdjustOrientation seems to have no effect on images displayed from RAW files.)
Am I doing anything wrong? Or have I hit a bug? Is dcrawlib always applying EXIF rotation, and the ImageEnView applies it again if EnableAdjustOrientation is true? That would explain it, I think.
........................................
I have found this work-around: (I want EXIF rotation, and am using dcrawlib.) Before loading the image I check the ImageEnMView that has loaded a thumbnail with this:
with ImageEnMViewThumbnails do ImageEnView.IO.Params.EnableAdjustOrientation := not (FindFileFormat(ImageFileName[SelectedImage]) = ioDLLPLUGINS);
This way, EnableOrientation is switched switched off for RAW images but switched on for everything else. EXIF rotation then works on all types of EXIF images that have it.
One question: in the helpfile under TIOFileType it says the constant for External plugins (ie dcraw) is ioDLLPLUGINS + offset. What does '+ offset' mean? Is it safe to ignore this?
regards
Patrick |
2 L A T E S T R E P L I E S (Newest First) |
Patrick Quinn |
Posted - Aug 26 2011 : 09:08:30 quote: Another fix is:
ImageEnView.IO.Params.RAW_ExtraParams := '-t 0';
It disables auto rotation in dcrawlib. Of course it needs EnableAdjustOrientation=true.
This fixes the problem. Thanks.
regards
Patrick |
fab |
Posted - Aug 26 2011 : 01:51:58 Hi, unfortunately dcrawlib automatically rotates the image when necessary, so you're right, it is done two times (by ImageEn also when EnableAdjustOrientation is true). This will be fixed in next minor release of "dcrawlib".
Another fix is:
ImageEnView.IO.Params.RAW_ExtraParams := '-t 0';
It disables auto rotation in dcrawlib. Of course it needs EnableAdjustOrientation=true. |
|
|