[Bug 12444] Canvas rendering should be done in linear color space (gamma 1) and the result displayed in sRGB color space (approximately gamma 2.2)

http://www.w3.org/Bugs/Public/show_bug.cgi?id=12444

--- Comment #3 from Frank Olivier <franko@microsoft.com> 2011-04-11 19:27:51 UTC ---
> Please note that the subject explained here indeed relates to color management,
> but it also differs highly from what color management usually implies. As far
> as I know, the goal of color management is to precisely define colors and
> ensure that colors are correctly interpreted, displayed and transfered from one
> device to the other. It will define how to convert from one color profile to
> another, but doesn’t define how colors must be produced or interpreted as part
> of rendering computations. This is not only about interpreting and displaying
> colors, but more importantly, about how to correctly create them.
The change you are asking for has color management implications, which is why a
discussion of the implicit color space of a canvas element is relevant.

> The title should have been more correctly stated as “… and the result output in
> sRGB color space…”. sRGB being the standard color space of the Internet, the
> resulting image should use the same color space as other colors on the page,
> like those used in CSS. If the computer display is using another color profile,
> the colors should be converted to that profile for display, like the other
> colors of the page (possibly in one conversion from linear to that color
> space).
It seems odd to ask for a floating point linear gamma representation of canvas
pixels - only to output the result via sRGB? Why the arbitrary clamp?

> What do you mean by “working color space”?
The implicit color space of a canvas element.

> If it is the color space in which the pixels are stored internally...
Correct

> I would advise either gamma-encoded sRGB in 8-bit
AFAIK this is how all user agents treat canvas today.

> or linear color space in floating-point (with the same primaries as sRGB,
> but with a gamma of 1).
This would a large architectural change for user agents; canvas elements would
use a lot more memory and render slower.

> In either case, all rendering operations should be done
> in linear space, preferably in floating-point.
The author can do this with sRGB-to-linear conversions, if the color space of
the canvas is known or assumed to be sRGB - IOW authors do create linear gamma
drawing operations by calculating the 'correct' color values themselves.

-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Monday, 11 April 2011 19:27:55 UTC