Re: [css3-images] Premultiplication switch

On 30/07/2011 3:59 AM, Tab Atkins Jr. wrote:
> On Fri, Jul 29, 2011 at 5:39 AM, Alan Gresley<alan@css-class.com>  wrote:
>> The way Opera interpolates this gradient,
>>
>>    linear-gradient(red, transparent, blue)
>>
>>
>> suggest that internally, a double color stop (as shown below) is generated.
>>
>>    rgba(255,0,0,0) 50%, rgba(0,0,255,0) 50%
>>
>>
>> So in affect, the keyword 'transparent' is already behaving as a switch.
>
> No.  Internally, the colors are interpolated in premultiplied space.
> There is no switch or duplication of color-stops.
>
> ~TJ


Then how is it possible that Opera renders both these gradients the 
same? One has one midpoint color stop and the other has two midpoint 
color stops.


<!DOCTYPE html>

<style type="text/css">

body {background: #222; padding: 20px; }

div { height: 50px; }

.test1 {
background: white -webkit-linear-gradient(left, red, transparent, blue);
background: white -moz-linear-gradient(left, red, transparent, blue);
background: white -ms-linear-gradient(left, red, transparent, blue);
background: white -o-linear-gradient(left, red, transparent, blue);
}
.test2 {
background: white -webkit-linear-gradient(left, red, rgba(255,0,0,0) 
50%, rgba(0,0,255,0) 50%, blue);
background: white -moz-linear-gradient(left, red, rgba(255,0,0,0) 50%, 
rgba(0,0,255,0) 50%, blue);
background: white -ms-linear-gradient(left, red, rgba(255,0,0,0) 50%, 
rgba(0,0,255,0) 50%, blue);
background: white -o-linear-gradient(left, red, rgba(255,0,0,0) 50%, 
rgba(0,0,255,0) 50%, blue);
}

</style>

<div class="test1"></div>
<div class="test2"></div>




-- 
Alan Gresley
http://css-3d.org/
http://css-class.com/

Received on Saturday, 30 July 2011 00:30:34 UTC