ImageEn, unit iexBitmaps

TIOParams.OutputICCProfile

TIOParams.OutputICCProfile


Declaration

property OutputICCProfile: TIEICC;


Description

Specifies the ICC profile associated with the current display system. The default profile is sRGB.

If EnableCMS is True and ImageEn has a CMS, the InputICCProfile and OutputICCProfile are applied when you load the image.


Understanding ICC Profiles

There are three properties related to ICC Profiles in ImageEn:

InputICCProfile: This is the profile contained in the image file (that was provided by the image source, e.g. a digital camera, or scanner).
If EnableCMS=true, then the input profile is automatically used to convert to the output profile and then discarded (so it is not reapplied to the pixels when reloaded). To determine if an input profile has been applied, use: IOParams.InputICCProfile.IsApplied
InputICCProfile is saved with the image, if it has not been applied.

DefaultICCProfile: Used as the input ICC profile if there is not one contained in the file (i.e. to specify a default color profile to apply to the image). It is not saved to the image.

OutputICCProfile: Defines the color profile for our usage of the image (e.g. monitor, printer, etc.). Defaults to sRGB. After loading an image, a transformation from InputICCProfile (color profile from source camera, scanner, etc.) to OutputICCProfile (profile for monitor, a printer, etc.) is performed

To save a color profile (which will be its "input" profile) just ensure that InputICCProfile or DefaultICCProfile contain a valid profile.

Note:
If EnableCMS = True, the input profile will be discarded after loading
ImageEn uses an sRGB profile by default, so you need need not do anything to include an sRGB profile when printing or saving


Example

// 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:\out.ppm');
ImageEnView1.IO.Params.InputICCProfile.LoadFromFile('C:\AdobeRGB1998.icc');
ImageEnView1.IO.Params.InputICCProfile.ConvertBitmap( ImageEnView1.IEBitmap, ie24RGB, ImageEnView1.IO.Params.OutputICCProfile );


See Also

InputICCProfile
DefaultICCProfile
EnableCMS
Color Management System
ColorProfile