Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 428
helloworlder Avatar asked Feb 13 '10 13:02

helloworlder


People also ask

How is consistent Colour achieved on different devices?

In short, we can expect a similar appearance of an image across different devices and media; just like what is shown in Figure 1. All devices, including input devices, such as scanners and cameras, and output devices, such as monitors, projectors and printers, will all reproduce the same color appearance.

Why do colors look different on different monitors?

The pixels are in some pattern of red, blue, or green depending on the bit depth, a.k.a. how many can fit on the screen. If one monitor has a higher bit depth than the other, it will affect the resolution, which in turn, affects how visual content, namely color, shows up on the screen.

Would Colour be consistent if printed digitally?

With digital methods and the introduction of several spot colors, digital printers can meet 97 percent of Pantone colors, and will also have greater accuracy from run to run. Digital printing provides consistency both within a run and between different orders.

Why is Colour management important?

Here, colour management provides a practically vital level of assistance. "Perfectly 'tuned' colour management reduces ink consumption, improves quality and raises productivity thanks to increased speed and the capability to minimise remakes, as accurate colour reproduction reduces chances for errors."


2 Answers

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.

like image 91
Simon Lindgren Avatar answered Nov 15 '22 05:11

Simon Lindgren


The problem is you have no control over your user's monitor (type, make, age, adjustment).

ICC profiles are designed to interpret between a real-world device (like a camera, monitor or printer) and an independent working colour space (see here for an explanation).

Flash 10 "supports ICC-profiles" only in the sense that you can specify whether or not flash should adjust it's colours according to the local ICC profile (chosen by the user to suit their monitor). So the most you can do is set stage.colorCorrection = ColorCorrection.ON; (and it won't work for Unix or Linux).

Otherwise, you could consider making the colours shown in your SWF file to be user-configurable: they can then adjust things to their own liking - perhaps via some form of colour-calibration.

like image 39
Richard Inglis Avatar answered Nov 15 '22 07:11

Richard Inglis