Although colors are normally specified in terms of their Red, Green and Blue components this is not always the case. The only reason RGB Color Space is so common is because computer monitors implement colors using red, green and blue phosphors. There are other Color Spaces such as CMYK Color Space - which represents colors as amounts of Cyan, Magenta, Yellow and Black inks.
1
What are Color Profiles?

Converting between color spaces is a complicated business. Suppose you want to convert your RGB image into a CMYK one. Depending on the type of printer, the type of ink and the type of paper you are using you may require different amounts of Cyan, Magenta, Yellow and Black inks to match the colors in your image.

What is needed is a standard approach to this kind of problem. Eight major players in the industry founded the International Color Consortium (ICC) to do just that. The ICC defines a standard file format for describing the color profiles of monitors, scanners, cameras, printers - in fact almost any device. Each profile describes how the device represents color in a way that is independent of that device.

So when you take a picture with a digital camera and print it on a color printer, the image is transformed from the color space described in the camera color profile to the color space described in the printer color profile. This process aims to ensure that the colors in the original scene match those on the paper as closely as possible.

You can find out more about the International Color Consortium at http://www.color.org .

2
Locations for Color Profiles

Color profiles are held in a number of places. Most images that are not in the RGB Color Space contain embedded profiles. The two most common types of non-RGB images are CMYK JPEG images and CMYK TIFF images. Both of these image formats will normally, though not always, contain a profile.

Additionally a number of color profiles are held as standalone ICM files within Windows. You will normally find that you have a number of ICM files containing some standard profiles plus some profiles specific to printers, monitors and other devices that you use.

Color profiles are normally kept in "%SystemRoot%\System32\spool\drivers\color\". This is where ImageGlue searches for color profiles when no path has been specified. You can change this via XSettings.ColorProfileDirectory .

3
How ImageGlue uses Color Profiles

ImageGlue internally supports a number of color spaces, so unlike with previous versions no attempt will be made to convert into RGB an image that is not RGB. Conversion will only be performed when required, for example when saving a CMYK image into an image format that does not support CMYK or when drawing to GDI (which only supports RGB). When converting between two color spaces, ICC profiles will be used.

To locate a color profile ImageGlue first looks in the image itself for an embedded profile. If one is not available it will use XExport.EmbedColorProfile and if this is also not available then it will use some default color profiles that are embedded in ImageGlue.

4
Security and Color Profiles

On many systems the IIS user (IUSR) does not have permission to read from the color profiles directory. If this is the case ImageGlue will not be able to read the appropriate ICM files.

So if some of your images appear strangely colored check the Application Event Log to see if ImageGlue has logged any error messages that point at an ICM permissions problems. If this is the case you can either alter the permissions on the appropriate directories or you can tell ImageGlue to look in a different directory via XSettings.ColorProfileDirectory .