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