Monitor color, working RGB, and sRGB



Okay, I said I wasn’t going to devote anymore words to color management on the Internets, but I’ve been working in Flash of late on a project I’ve been considering doing for the past four years and it looks like it may finally actually happen; and then as well I saw this little pearl of wisdom retweeted twice this morning:

And, well, anyway, here I am.

But bear with me here. This isn’t entirely about the Internet.

Fact is if there’s one hangup that all people seem to have with color management right out of the box, it’s the whole issue of how their monitor relates to what they see on it. One of the most common misconceptions people have when I walk into a new client’s place is that I’m going to calibrate a certain monitor to match a certain printer.

But it doesn’t work that way.

What happens is that every device in your chain that reproduces color has some sort of profile that tells the color management engine of any color aware application how it reproduces the color information it’s sent.

That profile may be good or it may be not; it may be accurate or it may not (and no, they’re not necessarily the same.) But it has to be there.

So you may have profiled your monitor using the best tools and software out there, or you may never have profiled it and it’s running to some sort of default, based on your particular OS; but whatever the profile is, it’s the profile your color management engine is assuming your monitor displays color in correctly.

Think of it as a window.

Now, you’ve got your image, which is composed of pixels, which are just little boxes with numbers in them, and the numbers have to relate to some color space. There are all sorts of industry-standard RGB working spaces out there, but if your destination is the web, the one you want to use is sRGB. The key is that when you use any color profile–sRGB or anything else–you have the option to then “embed” that profile in your image so that when you send it out into the world, every other application that is color aware will recognize that profile and display your image just as you intended it be displayed.

However, a problem arises: Some applications aren’t color aware and therefore won’t recognize the embedded profile. And what do a lot of these applications do? They run home to momma.

They assume the monitor profile of whatever system they’re on is the profile of the image.

Flash is like that when you’re creating inside Flash. You can create images in Photoshop, embed their profiles, bring them onto the stage in Flash and they look pissed out all to hell. The reason again being that Flash doesn’t recognize their embedded profiles and assumes they were created in your monitor color space, so it assigns that space to the image. Since my monitor space is a MacBook Pro and I’ve obviously profiled it, and since it’s a typical small laptop gamut–smaller than the sRGB that’s embedded in the file–the effect is to wash the image out.

However, starting with Actionscript 3, you can embed this little script at the beginning of the movie: stage.colorCorrection = ColorCorrection.ON, and what happens is that in the SWF file, all images are assumed to be sRGB–whether they are or not.

A little cumbersome but it does work. You just convert everything to sRGB before you bring it into Flash and you get a consistent result. And while your images look terrible on the stage in Flash itself, when you export to the movie, they’ll look just as they did in Photoshop.

However, back to the issue. In case this hasn’t dawned on you yet, here’s what happens: Let’s just say I was working with my image in Photoshop and importing it into Flash, and I got all frustrated about the image changing when it hit the stage and finally hit on the fact that if I assigned my monitor profile to my image in Photshop, then it suddenly looked the same in Photoshop, and in Flash. EVERYWHERE!!

Eureka!…I’m so happy. I’m going to tell the world!

Well, hold on.

Of course it looks the same everywhere on my machine. The monitor profile is the window to which the OS converts everything when it’s displayed. So of course if I set everything to use it, it’s going to look the same whether the displaying application understands it or not.

However, it’s my monitor profile. It’s not yours. And it’s not anyone else’s either.

So I’ve just guaranteed that my image will only look as I expect it to on my screen. Not on anyone else’s anywhere.

When you’re working for the web, convert to sRGB, embed the profile if the image is free-floating, and don’t if it has to match a background; and if in pictureviewer or Google Chrome or whatever it doesn’t look quite the same, well just smile and understand that you know why.

Oh, and, just as a final note…

If you watched the little video above, what you may have noticed is that the guy got you to monitor color by way of View>Proof Setup.

It’s kind of a bizarre little quirk of Photoshop that in the proofing configurations that one section of RGB choices proofs an assign of the chosen profile, rather than all the rest of them which proof a conversion. However what all the settings in Proof Setup have in common is that they don’t alter the file. They just show you onscreen what would happen if you did what you were contemplating. They don’t actually do it.

So even if you did exactly what this guy is telling you, once you saved your file, you’d accomplish…exactly…nothing.

It’s a jungle out there kiddies.

You can get run down a lot of blind alleys trying to learn color management on the Internets. My advice would be if you’re serious about it, to hire someone to teach you. Someone with experience and maybe an absolute, ironclad guarantee that what they’re teaching you actually works.



There are no responses yet

Leave a Reply

You must be logged in to post a comment.