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)