Although colors are normally specified in 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 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.

On Windows 2000 color profiles are generally held in:

%SystemRoot%\System32\spool\drivers\color\

On Windows NT 4.0 color profiles are generally held in:

%SystemRoot%\System32\COLOR\

 

   
3
 
How ImageGlue uses Color Profiles    
     

When ImageGlue needs to draw an image that is not in RGB color space it attempts to convert it using ICC profiles.

For the source color profile it first looks in the image itself for an embedded profile. If one is not available it looks through the system color profiles for something similar.

For the destination color space it looks through the system color profiles for the sRGB color space - sRGB is a lightweight but well defined RGB Color Space for the Internet. If it cannot find the sRGB profile it uses any RGB color profile it can find.

 

   
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 and will have to rely on heuristic methods for color conversion.

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 use IGSettings to tell ImageGlue to look in a different directory.