Il seguente è il codice Android.Come appianare il segmento di linea WPF del percorso figura
path.moveTo(xx, yy);
for (...) {
path.lineTo(xx, yy);
}
canvas.drawPath(this.path, paint);
Al fine di rimuovere il forte angolo, sto usando
final CornerPathEffect cornerPathEffect = new CornerPathEffect(50);
paint.setPathEffect(cornerPathEffect);
quando si tratta di WPF, io sto usando il codice seguente .
PathFigure pathFigure = new PathFigure();
pathFigure.StartPoint = new Point(xx, yy);
for (...) {
LineSegment lineSegment = new LineSegment(new Point(xx, yy), true);
lineSegment.IsSmoothJoin = true;
pathFigure.Segments.Add(lineSegment);
}
PathGeometry pathGeometry = new PathGeometry(new PathFigure[] { pathFigure });
drawingContext.DrawGeometry(null, new Pen(Brushes.White, 3), pathGeometry);
Ho ottenuto il seguente effetto.
Si noti che, evito di usare PolyQuadraticBezierSegment
o PolyBezierSegment
. Tende a diventare instabile. Ciò significa che, ogni volta che aggiungo un nuovo punto di arrivo al grafico a linee, il punto appena aggiunto tenderà a cambiare il vecchio percorso, che è già disegnato sullo schermo. Come effetto finale, è possibile osservare che l'intero grafico a linee è scuotendo
Posso sapere in WPF come posso appianare il segmento di linea? Anche se ho usato lineSegment.IsSmoothJoin = true;
, riesco ancora a vedere l'angolo acuto. Posso avere qualcosa di equivalente a CornerPathEffect di Android?