Hi,
1) Am I missing something or there's no way to get the stroke in svg filter ?
We can get the SourceGraphic (of course), the SourceAlpha (we could get this one by running SourceGraphic through a colormatrix)
but what about the individual Fill (and Fill alpha) and Stroke (and alpha) ?
2) it looks like FillPaint and StrokePaint don't work in inkscape (I get the shape instead of an "infinite" rect filled with the fill and stroke colors/gradients). Can anybody confirm this ?
Thanks for reading.
filter: get the stroke (outline + color) or the inside ?
Re: filter: get the stroke (outline + color) or the inside
v1nce wrote:2) it looks like FillPaint and StrokePaint don't work in inkscape
AFAIK it was never implemented in Inkscape: Inkscape Wiki: Filter Effects
Re: filter: get the stroke (outline + color) or the inside
i think svg spec itself is that filter is assigned to object, not to the fill or stroke. in other words, filter is another settable attribute of an object, fill and stroke are other such attributes. a possible workaround is to duplicate the object, remove the stroke on the duplicate and remove the fill on the original (or vice versa), and then apply the filter to the one you want.
it's the same situation for object blur amount and transparency, they apply to the entire object itself; not the fill or stroke.
it's the same situation for object blur amount and transparency, they apply to the entire object itself; not the fill or stroke.
Re: filter: get the stroke (outline + color) or the inside
Edit: nevermind - yours is the answer to the first part of the question… sorry ;)please reread the original comment): There are two filter input sources defined in the SVG 1.1 specification which are not supported in Inkscape: They allow to extract the color (aka paint) of the fill or stroke and use that 'paint' (an image with conceptually infinite extent) as input source for various filter primitives in the filter definition.
For the details, see the SVG 1.1 specification.
Off topic:
That was not the question asked here (chriswww wrote:i think svg spec itself is that filter is assigned to object, not to the fill or stroke. (…)
For the details, see the SVG 1.1 specification.
Re: filter: get the stroke (outline + color) or the inside
chriswww wrote:it's the same situation for object blur amount and transparency, they apply to the entire object itself; not the fill or stroke.
Note: "object blur" is itself an SVG filter effect (feGaussianBlur).
With regard to transparency, SVG 1.1 knows 'opacity' (applies to the object itself), fill-opacity as well as stroke-opacity (applies to fill or stroke, corresponds to the 'Alpha' slider in Inkscape), and stop-opacity (for gradient stops).
Re: filter: get the stroke (outline + color) or the inside
chriswww wrote:i think svg spec itself is that filter is assigned to object, not to the fill or stroke.
So the svg specs are stupid/incomplete
IMHO You could do less things with the current FillPaint StrokePaint that you could do if there was
StrokeGraphic + FillGraphic (= SourceGraphic)
StrokeAlpha + FillAlpha (= SourceAlpha)
chriswww wrote:A possible workaround is to duplicate the object, remove the stroke on the duplicate and remove the fill on the original (or vice versa),
Or maybe just "emulate" the border by getting the stroke width
pseudostroke => SourceGraphic in [morphology(+0.5*width) - morphology(-0.5*width) ]
Re: filter: get the stroke (outline + color) or the inside
looks like i haven't kept up with the spec. thanks ~suv.
wonder if there's a wave of new books about SVG, now that it's back in fashion.
wonder if there's a wave of new books about SVG, now that it's back in fashion.