Mam Path
, która przechodzi przez siebie i chcę zmienić kolor obszarów, które minęły więcej niż raz. Jak poniżej:Narysuj obszary nakładające się na jednej ścieżce
Więc skonfigurować farby.
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);
Ale gdy zgłoszę canvas.drawPath(mPath1, highlighterPaint)
i canvas.drawPath(mPath2, highlighterPaint)
otrzymuję poniższy obraz. Na tym zdjęciu są dwie Ścieżki z oznaczonymi punktami końcowymi.
Rysuję na każdą ścieżkę w Canvas
.
Oddzielnie Path
s poprawnie przyciemnia ich wspólny obszar, ale pojedynczy Path
nie. Jak mogę uzyskać efekt podobny do pierwszego obrazu?
Zapomniałem wspomnieć, jest to również bardzo dobry pomysł, jeśli użyć tej metody, aby narysować ścieżkę do bitmapy, które zarządzają następnie Podczas 'View.onDraw()' zwrócić bitmapa na widok. – GDanger