XDraw 2.0: Destructive Vector Effects (Feature Suggestion)

Aug 6, 2010 at 6:10 AM

I've been looking around at different vector graphic tools for a specific feature. What I would like to do is apply effects to a vector drawing similar to how effects can be applied to a rasterized image in that it produces output that exibits the result of the effect in the same format as the original source. So in other words I would like to have vector effects that I can apply to a vector drawing where the output itself is a modified or transformed version of the original vector drawing.

So far I've only found Inkscape to have this type of feature except for there being three main problems with their implementation. (1) The selection of filters/effects in Inscape is somewhat lacking especially in terms of traditional color oriented effects. (2) Each of the filters/effects in inkscape seem to have very few options to control the behavior. (3) It's not entirely clear but it seems that some effects result in rasterized output while others operate on the vector drawing itself and it is difficult to tell which ones will produce what (4) when converting SVG to XAML in Inscape, even when using the .pdf -> .ai -> .xaml or the .xps -> .xaml hacks it often happens that the resulting .xaml contains rasterized images for portions of the drawing.

The goal that I would propose would be to create a set of common effects for use in XDraw that would allow a user to apply effects to a given drawing in a way that modifies that drawing permanently in vectorized form. My thought is that if we want raster effects we can always do that in Gimp, Paint.NET, Photoshop or a host of other applications that already do that very well. The point here is to keep it all vectorized and better yet all within XAML so that us WPF developers don't have to worry about lossy conversions from and two some other format.

I could envision that a set of useful scenarios could be enabled also by allowing effects to target only the selected portions of a drawing or even allow targeting the effect to the Fill or Stroke specifically within the selected elements. Once a common architecture is created for these effects it would also be possible to release the effects themselves as a library for programmatic use within WPF applications which would give some interesting possibilities coupled with Animation as well. Down the line an extensible plug-in architecture could be implemented in XDraw as well for adding in custom or third-party effects.

Aug 6, 2010 at 1:54 PM

I don't exactly understand what this effects should do!?

Move, bend, rotate vertices?
But how would you apply a vector effect to a brush as you mentinesd?

Could you give me a sample?