6 Stimmen

Android: Zeichnen außerhalb des geschlossenen Pfades statt innerhalb

Ich zeichne ein gefülltes Polygon auf einer Leinwand in Android.

canvas.drawPath(path,myPaint);

Jetzt möchte ich genau das Gegenteil tun: Füllen Sie den Bereich außerhalb des Polygons.

Wie kann ich die Farbe anweisen, den äußeren Bereich zu füllen - den Bereich, der nicht vom Polygon bedeckt ist?

11voto

Moxor Punkte 1848

Verwenden Sie einfach

path.setFillType(FillType.INVERSE_EVEN_ODD);

2voto

Zaid Daghestani Punkte 8485

Das kann kompliziert oder sehr einfach sein.

Der komplizierte Weg:

Erstellen Sie einen Pfad, der genau wie Ihr Polygon aussieht, nur dass Sie ihn nicht schließen. Setzen Sie diesen Pfad bis zur nächsten Wand fort. Zeichnen Sie um die Wände herum. Schließen und füllen. Im Code ist das nicht so lustig.

Der einfache Weg:

Färbe die Leinwand ein. Zeichnen Sie das Vieleck.

Viel Glück!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X