Re: [css-color] wider/deeper colors

> On Mar 23, 2016, at 11:10, Rik Cabanier <cabanier@gmail.com> wrote:
> 
> 
> 
> On Tue, Mar 22, 2016 at 5:34 PM, Florian Rivoal <florian@rivoal.net <mailto:florian@rivoal.net>> wrote:
> 
> > On Mar 23, 2016, at 01:56, aaron.www-style-@infinite-source.de <mailto:aaron.www-style-@infinite-source.de> wrote:
> >
> > On 22.03.2016 08 <tel:22.03.2016%2008>:45, Florian Rivoal wrote:
> >>
> >>> On Mar 22, 2016, at 11:34, Rik Cabanier <cabanier@gmail.com <mailto:cabanier@gmail.com>> wrote:
> >>>
> >>> It could be a new CSS property, for instance: compositing-space: "p3"/"sRGB"/"uncalibrated"/url(..)
> >>
> >> Shouldn't that be "compositing space: sRGB | output | CIELab" ?
> >>
> >> * sRGB: legacy "make everything dull" mode
> >>
> >> * CIELab: because if you're compositing things coming form various color spaces or wide gamut color spaces, this is how you get the least color distortion.
> >>
> >> Say your sources are in a gamut wider than the output gamut, and you have semi-transparent very saturated red on top of very saturated blue. If you composite in CIELab, then convert to the output gamut, you'll get a not very saturated color that may not need clipping to fit the output gamut.
> >>
> >> If you fit the colors to output gamut first, then do composition, the result will be different (and worse).
> >>
> >> * output: because if all the things you are compositing do fit in the output device's gamut, doing composition directly in that space will be close enough to what you'd get using CIELab, but is computationally more efficient.
> >
> > Compositing in the output gamut is not really close to compositing in
> > Lab. Try generating a saturated red-green gradient or rainbow in sRGB
> > and in Lab.
> 
> Right. I should have qualified that some more. Compositing in Lab gives
> better results, and compositing in the output gamut is sorta of close
> in some, but certainly not all scenarios. Depending on what you're
> doing, it may give be good enough, or maybe not.
> 
> If we had no compat constraint nor performance constrain, I'd say we should
> always do composition/color math in CIELab, but we may not have that liberty. We should certainly explore whether we have it though, as it would be better.
> 
> No, compositing in CIELab will give you unexpected results.
> If you have access to Photoshop try the following:
> - create an rgb document (16bit is best)
> - create a red rectangle
> - put a green rectangle inside, give it 50% opacity 
> - use the eye dropper on the green rectangle. It measures 50% green and 50% red, no blue (as expected)
> - now switch to the document colorspace to Lab. Do not flatten
> - notice how the transparent green rectangle changes color. It now is 78% red, 67% green

I'd argue that's expected.

By definition, compositing in the output space gives you unsurprising **numbers**, with half red and half green giving 50% of each.

By definition as well, compositing in another space will do different math, leading to different numbers. Because of the way CIELab is constructed, it gives you unsurprising **colors**.

If you look at the colors, not with the eye dropper, but with your actual eyes, the result when using compositing in Lab is much nicer. RGB composition gives us a dark and muddy color, while Lab composition gives us a brighter color as the result of combining these two bright colors.

 - Florian

Received on Wednesday, 23 March 2016 04:14:47 UTC