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

 

ImageEn Forum
Profile    Join    Active Topics    Forum FAQ    Search this forumSearch
Forum membership is Free!  Click Join to sign-up
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 ImageEn Library for Delphi, C++ and .Net
 ImageEn and IEvolution Support Forum
 ICC Question
 New Topic  Reply to Topic
Author Previous Topic Topic Next Topic  

pierrotsc

USA
508 Posts

Posted - May 28 2026 :  09:06:04  Show Profile  Reply
Right now i have to print in Photoshop to have a matching color image. I have photoshop managing colors using an ICC profile for my epson printer. The driver is set to no color management.
I tried to do the same with imaggen. I have cms set to true and i use the following code.
ActiveImageEnView().IO.Params.OutputICCProfile.LoadFromFile
(IncludeTrailingPathDelimiter(EmbeddedDM.helppath) +
'\Epson IJ Printer 07.icc ');
ActiveImageEnView().IO.DoPrintPreviewDialog(iedtDialog);

The image printed is too dark. Am i using the outputiccprofile command wrong ?
Thanks
Pierre

xequte

39436 Posts

Posted - May 28 2026 :  17:04:13  Show Profile  Reply
Hi Pierre

Color profiles are only applied when loading (EnableCMS=True) or rendering (CMYK only). To apply a color profile and have it used with printing use ConvertBitmap:

http://www.imageen.com/help/TIEICC.ConvertBitmap.html

// Apply InputICCProfile (AdobeRGB1998.icc) color profile to an image and output as OutputICCProfile (Defaults to sRGB)
// Note: This permanently changes the colors of the image
ImageEnView1.IO.LoadFromFile('C:\m00000-00.jpg');
ImageEnView1.IO.Params.InputICCProfile.LoadFromFile('C:\AdobeRGB1998.icc');
ImageEnView1.IO.Params.InputICCProfile.ConvertBitmap( ImageEnView1.IEBitmap, ie24RGB, ImageEnView1.IO.Params.OutputICCProfile );
ImageEnView1.Update();  // Show changes to bitmap in viewer

>>> Then Print, and undo to remove the color profile from the image


Nigel
Xequte Software
www.imageen.com
Go to Top of Page

pierrotsc

USA
508 Posts

Posted - May 28 2026 :  17:42:49  Show Profile  Reply
Thanks Nigel.
If i understand, i need to load the image, load the printer profile, apply the profile to the image, print it and then restore the image. Is that correct ?
Would i need to save the image in a stream firs, or an undo function will restore the image ?
Appreciate the advice ?
Best
Pierre
Go to Top of Page

pierrotsc

USA
508 Posts

Posted - May 28 2026 :  17:45:28  Show Profile  Reply
Sorry, i did not read your last line. Undo should do the trick.
Go to Top of Page

pierrotsc

USA
508 Posts

Posted - May 28 2026 :  18:35:56  Show Profile  Reply
This is the code i used
ActiveImageEnView().IO.Params.InputICCProfile.LoadFromFile
(IncludeTrailingPathDelimiter(EmbeddedDM.helppath) +
'\Epson IJ Printer 07.icc ');
ActiveImageEnView().IO.Params.InputICCProfile.ConvertBitmap
(ActiveImageEnView().IEBitmap, ie24RGB,
ActiveImageEnView().IO.Params.OutputICCProfile);

ActiveImageEnView().IO.DoPrintPreviewDialog(iedtDialog);

Image on the screen did not change it looks like. Printout is the same as before.
Maybe Photoshop uses this profile in a different way.

pierre
Go to Top of Page

pierrotsc

USA
508 Posts

Posted - May 28 2026 :  19:34:00  Show Profile  Reply
Hold on. I changed profile and the color did change. Let me play with it more
Go to Top of Page

xequte

39436 Posts

Posted - May 28 2026 :  20:43:32  Show Profile  Reply
Sorry, I neglected to say that after applying the ICC you need to call:
ImageEnView1.Update();


Nigel
Xequte Software
www.imageen.com
Go to Top of Page

pierrotsc

USA
508 Posts

Posted - May 29 2026 :  05:50:18  Show Profile  Reply
Nigel, I did add the update command after I typed the code.
Go to Top of Page

xequte

39436 Posts

Posted - May 31 2026 :  16:45:35  Show Profile  Reply
So, does the profile modify the image on-screen?

Nigel
Xequte Software
www.imageen.com
Go to Top of Page

pierrotsc

USA
508 Posts

Posted - May 31 2026 :  16:52:09  Show Profile  Reply
I have an epson et-2850. Photoshop by default picked an epson driver and when I use it, the print colors matches the screen. If I use the same profile with imageen I do not see any changes on the screen or the output. On the other hand, I see a profile called et-2850_R. I tried it and the colors on the screen changes with imageen. I have to assume that the code is indeed working. The output is close to the screen then but not as good as photoshop with the other driver.
From the imageen side it seems it is doing something but I cannot get a matching color.
Best
Pierre
Go to Top of Page

xequte

39436 Posts

Posted - Jun 01 2026 :  17:40:00  Show Profile  Reply
Hi Pierre

The test would be to use a profile with a more obvious difference and ensure the applied colors appear in the view, print preview and print out.

Nigel
Xequte Software
www.imageen.com
Go to Top of Page

pierrotsc

USA
508 Posts

Posted - Jun 01 2026 :  18:13:14  Show Profile  Reply
The thing is that when photoshop uses the printer profile, the colors matches when i print. If i use the same profile with imageen, i do not see a difference on the screen so the printout does no match. it seems like photoshop handles printer profiles a different way.
On the other hand, when you reply to the forum i get 5 notifications in my inbox.
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
Jump To: