Re: [css3-images] Proposed Gradients changes

On Thursday, November 25, 2010, 4:56:03 AM, Alan wrote:

AG> On 25/11/2010 3:37 AM, Chris Lilley wrote:
>> At no point in CSS processing are colours in a device gamut mapped
>> *into* sRGB.

>> Once the colours are calculated, if the display is calibrated then
>> the colours can be mapped *from* sRGB into the device gamut.

AG> Ok.

And this is from 4.2.1. RGB color values

"All RGB colors are specified in the sRGB color space (see [SRGB]). User agents may vary in the fidelity with which they represent these colors, but using sRGB provides an unambiguous and objectively measurable definition of what the color should be, which can be related to international standards (see [COLORIMETRY])."

>> If the sRGB value (-20,270,250) falls within the device gamult it
>> will be displayed, otherwise it will be clipped so that it falls
>> inside the device gamut.

AG> So why doesn't CSS3 color say this? 

It does. Same section:

"Values outside the device gamut should be clipped or mapped into the gamut when the gamut is known: the red, green, and blue values must be changed to fall within the range supported by the device"

Which is actually a tautology, since the gamut of a device is the range of colours it can produce. So it is actually saying that a decvice can't produce colours it can't produce :) but the important thing is that clipping happend as late as possible and only the clipping which is physically imposed by the output device is taken into account.

AG> The way the spec is written, there
AG> is nothing that indicates that author can use deep color like scRGB. 

Ah. Not the same thing. 

In CSS3 color, all colours are specified in sRGB colour space and output devices (monitors, printers) can have other gamuts. Some colours in sRGB may be outside device gamut, and some colours outside sRGB may inside device gamut.

If you want to directly specify colours in another colourspace, CSS3 colour won't help. Other specifications will define that.

AG> Also, this doesn't answer my initial question regarding gradients.

AG> At what point does the below gradient use imaginary colors of the scRGB
AG> gamut?

AG> background: linear-gradient(left, rgba(-20, 270, 250), transparent);

AG> If a gradient was premultiplied at some point it could be using 
AG> imaginary colors. 

I don't follow how you infer that.

AG> If a gradient was un-premultiplied it may use real 
AG> color along it whole gradient.

AG> I can not answer this myself since there is no CIE colorspace that maps
AG> color to a x, y and z matrix 

Not sure what you mean by that (and I suspect you mean X Y Z, or possibly x y Y, but not x y z).

AG> and I'm am ignorant if any browser can show
AG> scRGB color. I will just have to search my house for my HDMI cable 
AG> instead of VGA cable.

You also need OS support, and video card and driver support for greater than 8 bits per component. There is no point using wide-gamut displays if you are limited to 8 bits per component.

Windows 7 has some support

and IE9 has some colour management support, so I would try there first. Maybe someone on the IE9 team could comment on whether IE9 hooks into the Win7 high colour support.

 Chris Lilley   Technical Director, Interaction Domain                 
 W3C Graphics Activity Lead, Fonts Activity Lead
 Co-Chair, W3C Hypertext CG
 Member, CSS, WebFonts, SVG Working Groups

Received on Thursday, 25 November 2010 06:13:56 UTC