Ich habe eine Path
, die sich kreuzt und ich möchte die Farbe der Bereiche ändern, die mehr als einmal durchlaufen wurden. Wie unten:Überlappende Bereiche auf einem Pfad zeichnen
Also habe ich meine Farbe auf.
highlighterPaint = new Paint();
highlighterPaint.setAntiAlias(true);
strokeWidth = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 20,
displayMetrics);
highlighterPaint.setStrokeWidth(strokeWidth);
highlighterPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DARKEN));
highlighterPaint.setAlpha(200);
highlighterPaint.setStyle(Paint.Style.STROKE);
highlighterPaint.setStrokeJoin(Paint.Join.ROUND);
Aber wenn ich canvas.drawPath(mPath1, highlighterPaint)
und canvas.drawPath(mPath2, highlighterPaint)
nennen bekomme ich das Bild unten. Es gibt zwei Pfade in diesem Bild mit ihren Endpunkten.
Ich zeichne jeden Pfad auf einen Canvas
.
Separate Path
s verdunkeln ihren gemeinsamen Bereich korrekt, aber eine einzige Path
nicht. Wie erreiche ich einen ähnlichen Effekt wie beim ersten Bild?
ich vergaß zu erwähnen, es ist auch eine sehr gute Idee, wenn Sie diese Methode verwenden, den Weg in eine Bitmap zu zeichnen, die Sie verwalten dann während Ihres 'View.onDraw()' ziehen Sie Ihre Bitmap auf die Ansicht. – GDanger