artemp/mapnik — Issue #335: Support for an 'erasing' stroke
Author: artemp
Created: 2011-10-11 16:12:36+00:00
State: open
Labels: Symbolizers

Opening this ticket to look into possibilities of having an 'erasing' stroke.

Let's say you want to lay down a semi-transparent line with casing, where opacity < 1. You draw the casing, and then you draw the core of the line, but the casing stroke will still be visible through the semi-transparent core stroke. This looks even worse when you have a dashed casing.

What if there was support for a stroke that would erase any pixels already rendered in that layer? Then you could lay down your casing, do an erasing stroke the size of the core, and then finally lay down your actual core.

Would it be possible to have this in mapnik? Would it need support from the rendering libraries first?

An alternative would be to have support for implicit 'hollow' strokes, where you would define the width of the total line and the width of the core to keep unrendered. Essentially rendering only the 2 sides of the casing. This part is essentially related to #180 and maybe #71.