W3C home > Mailing lists > Public > www-style@w3.org > January 2016

Re: [css-images] Negative implications of linear gradient color space choice in CSS

From: Mark Straver <mark@wolfbeast.com>
Date: Sat, 23 Jan 2016 22:25:59 +0100
Message-ID: <56A3EFE7.2000302@wolfbeast.com>
To: www-style@w3.org
On 23/01/2016 19:23, Simon Fraser wrote:
> This has been discussed several times in the past; we all agree that interpolating in non-premultiplied colors
> is better, but this is not supported by the graphics frameworks on some platforms (e.g. by CoreGraphics on Mac)
> so the spec is not able to mandate it.

I understand that some hardware accelerated frameworks on some platforms might
not support drawing gradients directly in RGBA space and therefore be forced
to choose the poorer alternative (giving a different visual result in some
situations) or use software rendering (which is *always* an accurate option),
but the current wording actually mandates that a method be used that doesn't
allow one to create proper linear gradients with transparency.

Even if you can't mandate non-premultiplied colors, shouldn't you use wording
that non-premultiplied SHOULD be used (where possible) instead of forcing a
lowest-common denominator if you all agree that it's better the other way? And
maybe get a driver behind the non-supporting frameworks to actually improve it
and start supporting accurate gradients?

I'm running into a very practical limitation here from a design point of view
that shouldn't have to be there (even on affected frameworks these gradients
can still be rendered properly if pre-composed, right?).

I'm not aware of what all was discussed previously, but I do think this should
be adjusted - the current spec falls short of providing the desired and
expected tools and there is no hard reason why this lack of support by some
frameworks would have to limit the spec. Special-casing the 'transparent'
keyword IMHO would take away the main point that I know of that made
premultiplied colors desirable (avoiding black transitions).
Sorry if I'm re-iterating previously stated points.

Exactly on which frameworks and platforms would this be a problem?
On those frameworks/platforms, would pre-composition/software rendering not be
an option as a workaround and if so, why?
Received on Saturday, 23 January 2016 21:26:32 UTC

This archive was generated by hypermail 2.4.0 : Friday, 25 March 2022 10:08:59 UTC