Re: [CSS4 color][CSS4 transition] color pre-multiplied vs non pre-multiplied was (Re: [CSSWG] Minutes TPAC Tue 2012-10-30 AM I: Abstract Directions, Transforms, Transitions)

On Fri, Feb 1, 2013 at 8:42 AM, Simon Sapin <simon.sapin@kozea.fr> wrote:

> Le 01/02/2013 17:34, Rik Cabanier a écrit :
>
>>
>>
>> On Fri, Feb 1, 2013 at 6:50 AM, Brad Kemper <brad.kemper@gmail.com
>> <mailto:brad.kemper@gmail.com>**> wrote:
>>
>>     On Jan 31, 2013, at 11:18 PM, Simon Fraser <smfr@me.com
>>     <mailto:smfr@me.com>> wrote:
>>
>>      > We rely on Core Graphics to render gradients on Mac, and that
>>     can't do pre-multiplied. That's the main reason why gradients don't
>>     match transitions.
>>
>>     If I understand correctly, this means that if an author wants a nice
>>     clean-looking 3-stop gradient that goes from yellow to transparent
>>     to blue, he will have to use two same-position transparent color
>>     stops, so that it is actually yellow to transparent-yellow, and then
>>     transparent-blue to blue. Couldn't WebKit just perform this extra
>>     conversion step for us before passing it on to Core Graphics?
>>
>>
>> This is why I would do under the hood.
>>
>
> Is this equivalent to pre-multiplied with transparent being always
> rgba(0,0,0,0)?
>
>
For going  to 'transparent', yes, you would get the same result.

There will be a different though when you go from green to transparent red.
With a premultiplied gradient, the color in the middle is green with 50%
alpha. (The red is ignored)
With a non-premultiplied gradient, the color in the middle is rgba(127,
127, 0, .5)

Received on Friday, 1 February 2013 18:36:17 UTC