[GRASS-user] translucency and svg output

Glynn Clements glynn at gclements.plus.com
Wed Mar 24 22:42:46 EDT 2010

pete davidson wrote:

> I'm producing maps in svg format using the cairo driver and d.out.file.  One
> thing I'd really like to be able to do is set one or more of the vector
> layers to be partially translucent.  After rummaging through this list, I'm
> beginning to wonder if its possible at all, since translucency in the guis
> seems to be handled by g.pnmcomp, but perhaps someone with more experience
> knows a way to do it.

It isn't. The graphics API doesn't support an alpha component.

Apart from anything else, it can't easily be implemented for
PostScript output, as PostScript doesn't support translucency. Faking
it with patterns is possible, but it starts getting complicated if you
want more than one translucent layer.

> The only workaround I've managed to find so far is to export each layer as
> an individual svg, then use something like inkscape to rejoin them, setting
> the translucency/transparency of each layer as I do it.  Which is fine for a
> map with only a few layers, but gets tedious when dealing with maps with
> dozens of layers.

SVG is XML, so it shouldn't be especially hard to automate the process
using generic XML-processing tools.

Glynn Clements <glynn at gclements.plus.com>

More information about the grass-user mailing list