Search code examples
colorsflashcolor-profilecolor-management

Achieving Colour Consistency Across Different Monitors


I have an SWF file with only vector illustrations in it (no bitmaps). Is there a way to improve colour consistency across different monitors?

Colour management is a very complex topic and the more I read about it the more confused I become. There's this thing called ICC profiles which are supposed to convert colours into device independent color spaces, but of what use is that?


Solution

  • ICC profiles provides a way to map the colors that your monitor thinks it's showing (the bitmap/image, or other graphics) to what it is actually outputting on the panel. Using software that supports these profiles you can get more consistent colors.

    The basic flow is this:

    1. A program reads the graphics file
    2. The program uses the icc profile to compensate for your monitors inadequacies
    3. When you change monitor, you change the icc-profile to match the new monitor
    4. When you print, you use a different icc-profile suitable for the printer to compensate for the printers inadequacies

    This is meant to make sure that the colors on screen match the printed paper and is generally not something that scales beyond artsy stuff.

    If you want consistency among your own monitors you would "just" have to calibrate them and configure the profiles for your monitors. I don't know how to do this, but my guess is that Adobe has pretty good docs about it.

    If you want something like consistent colors on say a flash game across different users, I don't think that is possible. In any case it would be the clients job to manage the ICC-profile and the flashplayers job to support the compensation.

    In any case, the part about adjusting the monitor settings before doing the calibration is because this changes the color reproduction of the display, so if you change the settings you will have to re-calibrate the display.