- From: Jonas Sicking <jonas@sicking.cc>
- Date: Tue, 23 Nov 2010 14:40:31 -0800
On Tue, Nov 23, 2010 at 2:09 PM, Philip Taylor <excors+whatwg at gmail.com> wrote: > On Tue, Nov 23, 2010 at 8:43 PM, Tab Atkins Jr. <jackalmage at gmail.com> wrote: >> Right now, canvas gradients interpolate their colors in >> non-premultiplied space; that is, the raw values of r, g, b, and a are >> interpolated independently. ?This has the unfortunate effect that >> colors darken as they transition to transparent, as "transparent" is >> defined as "rgba(0,0,0,0)", a transparent black. ?Under this scheme, >> the color halfway between "yellow" and "transparent" is >> "rgba(127,127,0,.5)", a partially-transparent dark yellow, rather than >> "rgba(255,255,0,.5)".* > > If you define the gradient as interpolating from solid yellow to > transparent black, I'd expect that it *should* be semi-transparent > blackish-yellow in the middle. > > If you want it to be pure yellow, don't use a keyword which is > explicitly specified as transparent black - define the gradient from > rgba(255,255,0,1) to rgba(255,255,0,0) instead. Then you'll get > rgba(255,255,0,0.5) in the middle. For what it's worth, I suspect most people don't think of "transparent" as "transparent black", but rather as "fully see-through". / Jonas
Received on Tuesday, 23 November 2010 14:40:31 UTC