Hi,

A long time ago I wrote this:

    https://lists.freedesktop.org/archives/pixman/2012-July/002175.html

about how dithering could be added to pixman. The basic idea is that
"dithering" is a property of the destination image, not of the gradient.  I
still think this is the right way to do it.


Søren

On Mon, Mar 26, 2018 at 6:37 PM, Marc Jeanmougin <m...@jeanmougin.fr> wrote:

> Hi,
>
> I'm Marc, I'm an Inkscape contributor, and I would like to improve
> pixman by providing a patch to allow gradient dithering, to eliminate
> all gradient banding. This "banding" problem is hugely visible in many
> Inkscape files, and I hope you could help me putting it into pixman,
> then in exposing the functionality into cairo.
>
> I tried to very closely follow the existing code style, and I came up
> with the proof of concept (attached Proof_of_concept.patch ), which
> applies to pixman/master to enable the feature directly.
>
> Since Inkscape also uses pixman to render files when exporting to png,
> and that kind of dithering affects very significantly the file size (PNG
> compression algorithm and randomness don't mix well) we also need a
> switch to enable/disable it "at will".
>
> I tried to understand how it could be done by looking at
> pixman_image_set_* functions and finally came up with the other patch
> attached 0001-Adds-a-gradient-dithering-function-to-pixman.patch (which
> cannot directly be tested, since it would require changes in cairo to
> call pixman_image_set_dithering, but changing "gradient->dithering =
> PIXMAN_DITHERING_NONE;" to _BEST in pixman-image.c works)
>
> Thanks for any help in merging this, or any pointer to how to improve it,
>
> --
> Marc
>
> _______________________________________________
> Pixman mailing list
> Pixman@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/pixman
>
>
_______________________________________________
Pixman mailing list
Pixman@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/pixman

Reply via email to