- From: L. David Baron <dbaron@dbaron.org>
- Date: Wed, 15 Jul 2009 11:24:44 -0700
- To: www-style@w3.org
- Message-ID: <20090715182444.GA11521@pickering.dbaron.org>
On Wednesday 2009-07-01 16:48 -0700, L. David Baron wrote: > http://dev.w3.org/csswg/css3-transitions/#animation-of-property-types- > currently says: > # color: interpolated via red, green, blue and alpha components > # (treating each as a number, see below). > > This bullet point should probably mention that the red, green, and > blue values should NOT be premultiplied with the alpha. (I think > that's the correct behavior, anyway.) Actually, I'm not so sure this is correct (although WebKit's implementation does do non-premultiplied). I wrote a testcase: http://dbaron.org/css/test/2009/transitions-alpha (also attached) and I think it looks better with premultiplied colors, although authors have less control. (It's the first case that I'm particularly concerned about.) If I do premultiplication before interpolation, all of the first three tests look the same. If I don't, only the second one looks "right"; the first and third show colors other than red (black and green respectively) in the intermediate stages. The fourth test is the same either way; the fifth crosses through yellow hue more quickly if I do premultiplication. There is a control tradeoff here (giving authors more control versus doing the right thing in more cases). I think it's simpler if authors get the right thing when they animate 'transparent' to 'red' rather than having to specify 'rgba(255, 0, 0, 0)' to 'red', though. -David -- L. David Baron http://dbaron.org/ Mozilla Corporation http://www.mozilla.com/
Attachments
- text/html attachment: transitions-alpha.html
Received on Wednesday, 15 July 2009 18:25:20 UTC