Gradient banding workaround

Thorsten Wilms <[email protected]> Thu, 21 Feb 2019 20:22:27 +0100
Newsgroups gmane.comp.graphics.inkscape.user
Message-ID <[email protected]>
Hi!

I recently worked on a piece that made the gradient branding problem 
that plagues not only Inkscape painfully ... visible.

A Launchpad bug about this dates back to 2008; here's a new one by yours 
truly, with example:
https://gitlab.com/inkscape/inbox/issues/154

On this list, I'd like to describe a workaround and ask if anyone can 
think of an improvement (on Linux, no proprietary software).


I tried Inkscape, Imagemagick's convert (internal or using 
rsvg-convert), rsvg-convert directly, resvg's rendersvg. Also Firefox 
and a random Webkit-browser. Banding in all cases. convert allows 16 bit 
per channel (or more), but it made no difference to the result (I 
suspect the delegates never actually delivered 16 bits).

In contrast, Chromium renders gradients in a way that appears perfectly 
smooth here (to my eyes, on this display). On close inspection, there's 
dithering at work.

A way to get the rendering out of Chromium, without even worse 
acrobatics like taking a screenshot or printing to a file:
Use a "wrapper.html" containing something like this:
"<img src="in.svg">"
Chromium then offers "Copy image" on right-click. The result can be 
pasted from the clipboard.

With xclip, directly to a file:
xclip -selection clipboard -target image/png -out > out.png

Or in GIMP: using "Paste as" -> "New Image" (Ctrl-Shift-V).


Is anyone here aware of other (libre) software that delivers results as 
good or better than Chromium?

Maybe someone knows enough about using Chromium headless to tell me how 
I could automate the process?


-- 
Thorsten Wilms

thorwil's design for free software:
http://thorwil.wordpress.com/