Difference between revisions of "SpecCustomPredefinedFilters"
Ivan louette (talk | contribs) |
Ivan louette (talk | contribs) |
||
(11 intermediate revisions by 2 users not shown) | |||
Line 33: | Line 33: | ||
Old static filter name given as comment (if different from the new one). | Old static filter name given as comment (if different from the new one). | ||
==== Bevels ==== | |||
* Diffuse light | |||
* Matte jelly | |||
* Specular light | |||
==== Blur ==== | ==== Blur ==== | ||
Line 39: | Line 44: | ||
* Cross blur (new) | * Cross blur (new) | ||
* Feather | * Feather | ||
* | * Out of focus (new) | ||
==== Bumps ==== | ==== Bumps ==== | ||
* Bump (replaces Color bump, HSL bump, HSL bump matte, Copper and chocolate, Emboss) | * Bump (replaces Color bump, HSL bump, HSL bump matte, Copper and chocolate, Emboss) | ||
* | * Wax bump (new) | ||
==== Color ==== | ==== Color ==== | ||
* | * Brilliance (new) | ||
* Channel painting (new) | * Channel painting (new) | ||
* Color shift (new) | * Color shift (new) | ||
* Colorize (replaces the previous Colorize + Duotone and Sepia) | * Colorize (replaces the previous Colorize + Duotone and Sepia) | ||
* Duochrome (new) | * Duochrome (new) | ||
* Extract channel (new) | |||
* Fade to Black or White (new) | |||
* Greyscales (new) | * Greyscales (new) | ||
* Invert (replaces Invert, Invert lightness, Invert Hue, Light eraser, Light eraser negative...) | |||
* Lightness (new) | * Lightness (new) | ||
* Lightness-Contrast (replaces the existing one) | |||
* Nudge (new) | |||
* Quadritone (replaces Quadritone fantasy) | * Quadritone (replaces Quadritone fantasy) | ||
* Solarize (replaces Solarize and Lunarize) | * Solarize (replaces Solarize and Lunarize) | ||
Line 61: | Line 69: | ||
==== Distort ==== | ==== Distort ==== | ||
* Roughen | * Roughen | ||
* Felt feather (new) | |||
==== Image effects ==== | ==== Image effects ==== | ||
Line 71: | Line 80: | ||
* Electrize (new) | * Electrize (new) | ||
* Neon draw (new) | * Neon draw (new) | ||
* Point engraving (new) | |||
* Poster paint (new) | * Poster paint (new) | ||
* Posterize basic (new) | * Posterize basic (new) | ||
Line 83: | Line 93: | ||
==== Shadows and glows ==== | ==== Shadows and glows ==== | ||
* Colorizable drop shadow (replaces and improves Cutout, Fuzzy glow, Drop shadow, Drop glow, Inner glow and Inner shadow) | * Colorizable drop shadow (replaces and improves Cutout, Fuzzy glow, Drop shadow, Drop glow, Inner glow and Inner shadow) | ||
==== Textures ==== | |||
* Ink blot | |||
==== Fill and Transparency ==== | ==== Fill and Transparency ==== | ||
* Blend (new) | |||
* Channel transparency (new) | * Channel transparency (new) | ||
* Light Eraser (replaces the existing one) | |||
* Opacity (new) | |||
* Silhouette (replaces and improves Alpha repaint monochrome) | * Silhouette (replaces and improves Alpha repaint monochrome) | ||
Latest revision as of 18:52, 1 October 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. It 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).
Bevels
- Diffuse light
- Matte jelly
- Specular light
Blur
- Blur (replaces motion blurs -vertical and horizontal)
- Clean edges
- Cross blur (new)
- Feather
- Out of focus (new)
Bumps
- Bump (replaces Color bump, HSL bump, HSL bump matte, Copper and chocolate, Emboss)
- Wax bump (new)
Color
- Brilliance (new)
- Channel painting (new)
- Color shift (new)
- Colorize (replaces the previous Colorize + Duotone and Sepia)
- Duochrome (new)
- Extract channel (new)
- Fade to Black or White (new)
- Greyscales (new)
- Invert (replaces Invert, Invert lightness, Invert Hue, Light eraser, Light eraser negative...)
- Lightness (new)
- Lightness-Contrast (replaces the existing one)
- Nudge (new)
- Quadritone (replaces Quadritone fantasy)
- Solarize (replaces Solarize and Lunarize)
- Tritone (replaces and improves the existing one with four different types)
Distort
- Roughen
- Felt feather (new)
Image effects
- Edge detect
Image paint and draw
- Chromolitho (new)
- Cross engraving (new)
- Drawing (new)
- Electrize (new)
- Neon draw (new)
- Point engraving (new)
- Poster paint (new)
- Posterize basic (new)
Morphology
- Cross-smooth (replaces Cross smooth and Smooth edges)
- Outline (replaces and improves Black outline and Color outline)
Overlays
- Noise fill (replaces and improves Noise fill and Noise transparency)
Shadows and glows
- Colorizable drop shadow (replaces and improves Cutout, Fuzzy glow, Drop shadow, Drop glow, Inner glow and Inner shadow)
Textures
- Ink blot
Fill and Transparency
- Blend (new)
- Channel transparency (new)
- Light Eraser (replaces the existing one)
- Opacity (new)
- Silhouette (replaces and improves Alpha repaint monochrome)
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...