- From: Dirk Schulze <dschulze@adobe.com>
- Date: Fri, 23 Nov 2012 15:49:53 -0800
- To: Ian Hickson <ian@hixie.ch>
- Cc: Tyler Larson <talltyler@gmail.com>, "whatwg@whatwg.org" <whatwg@whatwg.org>
On Nov 23, 2012, at 2:36 PM, Ian Hickson <ian@hixie.ch> wrote: > On Fri, 21 Sep 2012, Tyler Larson wrote: >> On Sep 20, 2012, at 6:49 PM, Ian Hickson <ian@hixie.ch> wrote: >>> Can't you do this using clip() easily enough? Maybe I'm missing >>> something important here. Can you elaborate? >> >> Here is an example of what I am talking about. >> http://i.imgur.com/Sy4xM.png >> Clip would mask something but adding an inner shadow is different and >> pretty difficult to reproduce when you take into account complex shapes. > > Ah, yeah, I see what you mean. The problem is that the canvas rendering > model always renders the shadow under the shape, and uses the shape's > alpha to work out where to paint the shape. > > What we could do is offer control that would change the shadows from > rendering under the shape to rendering over the shape, or, maybe even > better, have a mode that only renders the shadows. Then you could achieve > these effects relatively easily (by clipping to the shape so that the > shadow only renders inside the shape). Dependent if Canvas supports Filter Effects in the future or not (including SVG filters), the overlay shadow can be done with a combination of SourceAlpha and gaussian blur. There are already Canvas libraries that offer SVG Filters on Canvas. Greetings, Dirk > > Is this something implementors would be interested in? > > -- > Ian Hickson U+1047E )\._.,--....,'``. fL > http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. > Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Saturday, 24 November 2012 00:55:15 UTC