Difference between revisions of "SpecCustomPredefinedFilters"
Ivan louette (talk | contribs) |
Ivan louette (talk | contribs) |
||
Line 35: | Line 35: | ||
==== ABC ==== | ==== ABC ==== | ||
* Clean edges | * Clean edges | ||
* Color shift (new) | * Color shift (new) | ||
Line 48: | Line 47: | ||
==== Blur ==== | ==== Blur ==== | ||
* Blur (replaces motion blurs -vertical and horizontal) | |||
* Cross blur (new) | * Cross blur (new) | ||
Revision as of 15:33, 26 July 2011
Launchpad Entry: https://blueprints.launchpad.net/inkscape/+spec/custom-predefined-filters
Summary
The goal is to add new custom predefined filters (CPF) with parameters (such as the existing Drop Shadow filter), by using the internal extensions system. I wouldn't be a full high level filter editor (such as https://blueprints.launchpad.net/inkscape/+spec/non-advanced-filters-ui), but just an UI help for creating custom filters based on predefined sets of primitives.
It could also be useful if we wish to reduce the number of predefined filters by grouping them by filter type.
Release Note
Examples can be tested in the trunk, Filters>Experimental menu.
We have started with filters from the color group, but plan to work on some other groups before 0.49 is out.
Rationale
Inkscape now has lots of predefined filters, but doesn't provide a simple UI to create them. Allowing users to modify them afterward would be great too, but:
- Some high level parameters may be linked to more than one primitive parameter, or even calculated.
- Applying two filters to the same object merges the filters, and thus makes them difficult to modify afterward.
- It probably would require new inkscape specific attributes in order to map the available simplified parameters to the primitives ones.
Thus this project focuses on improving the creation of new filters, which is relatively straightforward thanks to the internal extension design.
Design
CPFs are based on the internal extension system, already used to create the Drop shadow, Drop glow and Snow filters (available as of 0.47). CPE are very easy to implement with internal extensions (lots of code specific to filters already exist), very probably a lot easier than with external (inx+py) extensions.
New CPFs can either replace existing predefined filters (when finding the parameters to reproduce it is not too difficult) or be added to the list (very generic CPFs).
Possible improvements
Adding an optional presets list to extensions, so that users can choose between default, user, and other predefined parameters in a drop-down list, would ease the replacement of the current filters (specification needed). The other internal and external extensions would also benefit from such a presets feature.
Adding new extension widgets (horizontal slider) would also make parameters tweaking more handy. (original implementation in revision 10103, and some fixes in the following revisions --JazzyNico 13:10, 16 March 2011 (UTC)).
Filters list
Old static filter name given as comment (if different from the new one).
ABC
- Clean edges
- Color shift (new)
- Diffuse light
- Feather
- Matte jelly
- Noise fill (replaces and improves Noise fill and Noise transparency)
- Outline (replaces and improves Black outline and Color outline)
- Roughen
- Silhouette (replaces and improves Alpha repaint monochrome)
- Specular light
Blur
- Blur (replaces motion blurs -vertical and horizontal)
- Cross blur (new)
Color
- Brightness (new)
- Channel painting (new)
- Colorize (replaces the previous Colorize + Duotone and Sepia)
- Duochrome (new)
- Electrize (new)
- Greyscales (new)
- Lightness (new)
- Quadritone
- Solarize (replaces Solarize and Lunarize)
- Tritone (replaces and improves the existing one with four different types)
Image effects
- Edge detect
Morphology
- Cross-smooth (replaces Cross smooth and Smooth edges)
Shadows and glows
- Colorizable drop shadow (replaces and improves Drop shadow, Drop glow, Inner glow and Inner shadow)
Transparency utilities
- Channel transparency
Experimental (needs grouping)
- Chromolitho (new)
- Cross engraving (new)
- Drawing (new)
- Neon draw (new)
- Poster paint (new)
- Posterize basic (new)
TODO
- Existing CPFs need testing and code documentation.
- Reorganize the existing filters list in order to integrate the new CPFs.
- Gimp already has lots of CPFs. Let's not reinvent the wheel...
Roadmap
Initial development
From November 2010 to February 2011
Initial filter sets. All the ABC filters and some others of all kind should be available (total: ~20 filters).
Request for comments
February 2011
General presentation on the dev list. Comments are welcome!
Final phase (if the project is widely accepted)
March 2011 -> 0.49
Some new filters, UI consistency (parameters name and behavior), filters grouping...