2017-03-13 2 views
0

Image:Wie male ich einen Pfad? Ich erhalte einen kleinen Fehler

Click to see image

konnte ich die anderen Formen bekommen malte diese gleiche Art und Weise richtig sein, aber aus irgendeinem Grunde, wenn ich die zweite Ecke der letzten Form gebracht niedriger als die vierte Ecke der Form, tritt dieser Fehler auf (das seltsame Rechteck mit einer seltsamen Farbe).

Die Koordinaten sind alle in Ordnung, aber hier gehen Sie. (W = Bildschirm maximale Breite, h = Bildschirm max Höhe)

paint.setARGB(50, 0, 0, 0); 
paint.setStyle(Paint.Style.FILL); 
paint.setAntiAlias(true); 
path.setFillType(Path.FillType.EVEN_ODD); 
path.moveTo(w, h/10); 
path.lineTo(w, 5*h/16); 
path.lineTo(0, 2*h/5); 
path.lineTo(0, h/4); 
path.lineTo(w, h/10); 

...

canvas.drawPath(path, paint); 

Vielleicht ist es über die Path.FillType?

Vielen Dank im Voraus.

Antwort

1

Verstanden!

Offenbar geht es um die Anzahl der Ecken. Es sollte eine ungerade Zahl sein. Ich habe gerade einen zufälligen neuen Punkt wie folgt hinzugefügt:

paint.setARGB(50, 0, 0, 0); 
paint.setStyle(Paint.Style.FILL); 
paint.setAntiAlias(true); 
path.setFillType(Path.FillType.EVEN_ODD); 
path.moveTo(w, h/10); 
path.lineTo(w, 5*h/16); 
path.lineTo(0, 2*h/5); 

path.lineTo (0, 3 * h/5);

path.lineTo(0, h/4); 
path.lineTo(w, h/10); 

Funktioniert perfekt jetzt!

Verwandte Themen