Füllregeln

Um bei überkreuzenden Pfaden festzulegen, wie die entstehenden Teilflächen gefüllt werden sollen, bietet SVG zwei verschiedene Füllregeln an.

Füllregel “evenodd”

Bei der Füllregel evenodd wird für jede Teilfläche eine imaginäre Linie von der Fläche aus dem Shape hinaus gezogen und gezählt, wie viele Linien dabei gekreuzt werden. Ist diese Zahl gerade, wird die Fläche nicht gefüllt. Ist die Anzahl der Schnittpunkte hingegen ungerade, so wird diese Fläche gefüllt.

<polygon points="50.202,9.5 29.277,70.926 90.298,50 29.277,29.075 50.202,90.5 71.128,29.075 9.702,50 71.128,70.926"
         fill="#00B6A8" fill-rule="evenodd" />
../../../_images/fill-rule-evenodd.png

Füllregel “nonzero”

Bei der Füllregel nonzero wird für jede Teilfläche eine imaginäre Linie von der Fläche aus dem Shape hinaus gezogen und gezählt, wie viele Linien dabei gekreuzt werden. Schnittpunkte, welche auf einer Linie liegen, die im Uhrzeigersinn verlaufen, werden mit -1 verrechnet, Schnittpunkte auf Linien im Gegenuhrzeigersinn mit +1. Solange die errechnete Summe nicht Null ergibt, wird die Fläche gefüllt.

<polygon points="50.202,9.5 29.277,70.926 90.298,50 29.277,29.075 50.202,90.5 71.128,29.075 9.702,50 71.128,70.926"
         fill="#00B6A8" fill-rule="nonzero" />
../../../_images/fill-rule-nonzero.png