- From: L. David Baron <dbaron@dbaron.org>
- Date: Mon, 9 May 2011 16:10:17 -0400
- To: "Tab Atkins Jr." <jackalmage@gmail.com>
- Cc: www-style@w3.org
On Monday 2011-05-09 12:32 -0700, Tab Atkins Jr. wrote: > On Wed, May 4, 2011 at 9:40 AM, L. David Baron <dbaron@dbaron.org> wrote: > > I think the current definition of cross-fade() in > > http://dev.w3.org/csswg/css3-images/#cross-fade-function is > > incorrect. It defines cross-fade() in terms of the porter-duff over > > operator, which is not symmetric. This means that cross-fade(A, B, > > 30%) is different from cross-fade(B, A, 70%). > > > > I *think*, though I'm not sure, that the right way to define > > cross-fade is in terms of the plus operator described in section 4.5 > > of the original Porter-Duff paper: > > http://keithp.com/~keithp/porterduff/ > > You are correct that 'src-over' is wrong and 'plus' is correct. This > isn't because src-over is asymmetric, but rather because src-over > simply doesn't do what we want here. Agreed; however, the fact that it is asymmetric makes it easy to demonstrate that it's wrong without even resorting to examples. :-) > As explained above, we don't want 'dissolve', as it does the wrong > thing, particularly when both src and dst are fully opaque. Instead > we want imagick's 'blend' operator, which uses the 'plus' operator. I think what the Porter-Duff paper calls dissolve() is what you call the global alpha. We do still need that part. -David -- L. David Baron http://dbaron.org/ Mozilla Corporation http://www.mozilla.com/
Received on Monday, 9 May 2011 20:10:44 UTC