Note: You must be registered in order to post a reply. To register, click here. Registration is FREE!
T O P I C R E V I E W
jrpcguru
Posted - Mar 19 2016 : 08:05:57 I sent you sample .JPG and .RW2 file from my camera when I asked about the automatic rotating of the raw file. Now I've found another detail that I had not noticed before.
If I compile the PhotoEn3 sample file with D7 or XE2 and load the sample files that I sent you, the raw files display with a strong yellow cast. I've confirmed that the CRC of IELib32.dll in each folder is the same. That suggests a problem with how IELib32.dll displays some raw files. My other sample raw files from other cameras don't seem to have a problem though I don't have comparison JPGs for them.
Extra puzzlement: I have confirmed that Photoshop Elements 13 displays the raw files correctly. My photo viewing/renaming program uses D7 and it displays the raw file correctly which is why I didn't notice the problem earlier. My scanning program uses XE2 and it gives the yellow cast. It is how I first noticed the problem.
Is there some property that might cause my D7 program to display these files correctly? I don't even know where to start on that? Is there a problem with IELib32 or should your sample programs have that property set? I've tried adding a bunch of extra ImageEn modules that I use in my D7 program to the Photoen3, but so far haven't found an item that makes it work in my program and not in the sample program.
J.R.
6 L A T E S T R E P L I E S (Newest First)
xequte
Posted - Mar 27 2016 : 21:58:57 Hi JR
ResetInfo removes anything that may increase file size. You are best to review the method in iexBitmaps.pas.
ResetInfo would only be called after loading of an image, so it should have no effect on the white balance settings that take effect during loading.
Posted - Mar 23 2016 : 20:54:37 Now I just discovered a further puzzlement. My D7 photo viewing program was happy with your suggested settings, though I have a sample raw file from an old Canon Rebel that is much nicer without auto white balance so I guess this won't work with all images.
Then I tried testing the suggested settings in my XE2 scanning program and they made no improvement - until I discovered that ImageEnView1.IO.Params.ResetInfo; also resets the raw white balance settings. If I put your suggested white balance settings immediately after ResetInfo, my XE2 program displays as well as my D7 program. Which raises a new question:
Can you clarify what other items that ResetInfo resets that are not listed in the help file? I use it to reset EXIF and IPTC between images and was surprised to have it also reset the raw viewing settings. I originally tried to put these settings into FormCreate along with a bunch of other ImageEnView settings. I wonder which ones might need to be moved after ResetInfo?
J.R.
xequte
Posted - Mar 22 2016 : 00:08:21 Hi JR
RAW_UseAutoWB and RAW_UseCameraWB are DCRAW options, whereas RAW_AutoAdjustColors is an internal ImageEn method.
By default, Raw images are given a fixed white balance based on a color chart illuminated with a standard D65 lamp.
When RAW_UseAutoWB is enabled, the white balance is calculated by averaging the entire image. When RAW_UseCameraWB is enabled, the white balance specified by the camera is used (if it exists). This has preference over RAW_UseAutoWB.
Posted - Mar 20 2016 : 21:23:46 Thank you for the prompt reply. You are correct, my D7 program was using ImageEnView1.IO.Params.RAW_UseCameraWB:=true;
Reading the help file it seems I have missed a few things about raw files. Unfortunately I'm away from home for 2 weeks so I can't compare the images to the original scene. The RAW_AutoAdjustColors may be best, but I gather that not all cameras allow that to work. It sounds like I should provide a configuration to try this method vs trying White Balance.
Your example shows RAW_UseCameraWB being used at the same time as RAW_UseAutoWB which I would not have guessed. For best overall compatibility should I set both to true or provide a configuration to let the user choose based on their camera?
Or is there a way to detect which method would be best?