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
 DefaultICCProfile question

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
Murat Posted - Sep 05 2012 : 07:09:31
Hi Fabrizio,

I have a NEF file with a built-in JPEG preview.

The problem is that NEF file contains color profile information while JPEG preview doesn't contain it.

So I would like to apply color information to the output image by my self. Unfortunately I was unable to get a working code with DefaultICCProfile usage. My code is:

ImageEN1.IO.Params.DefaultICCProfile.LoadFromFile('...path to AdobeRGB1998.icc');
ImageEN1.IO.LoadFromStreamJpeg(RAWPreviewJPEGStream);


But it doesn't work.

I read from ImageEN documentation that DefaultICCProfile can be used when no other ICCProfiles had been found in an image.

After analyzing imageenio.pas and jpegfilt.pas files I've determined that DefaultICCProfile is used only inside the jpegflt.pas:IEConvertColorFunction function. While the last one is invoked for images without ICC. So the above code doesn't work.

Your advice (clarifications) would be very helpful!
3   L A T E S T    R E P L I E S    (Newest First)
fab Posted - Sep 18 2012 : 07:49:56
Unfortunately this is not possible with current version. Anyway you can try to apply the color profile transformation after load. For example:

var
  icc:TIEICC;
begin
  ImageEnView1.IO.LoadFromFile('input.jpg');

  // setup destination color profile
  icc := TIEICC.Create();
  icc.LoadFromFile('AdobeRGB1998.icc');
 
  // setup source color profile (sRGB?)
  ImageEnView1.IO.Params.InputICCProfile.Assign_sRGBProfile();

  // transform
  ImageEnView1.IO.Params.InputICCProfile.ConvertBitmap(ImageEnView1.IEBitmap, ie24RGB, icc);
  icc.Free();
end;


Hope this helps.
xequte Posted - Sep 18 2012 : 02:23:23
Hi

I'm afraid we have not had time to investigate this yet.



Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
Murat Posted - Sep 17 2012 : 02:50:25
Hi Fabrizio and Nigel,

Any news regarding the above ICC Problem?