아래는 Android 코드입니다. WPF에, 나는 다음과 같은 코드를 사용하고 올 때경로 모양의 WPF 선분을 부드럽게하는 방법
날카로운 모서리을 제거하기 위해path.moveTo(xx, yy);
for (...) {
path.lineTo(xx, yy);
}
canvas.drawPath(this.path, paint);
, 나는
final CornerPathEffect cornerPathEffect = new CornerPathEffect(50);
paint.setPathEffect(cornerPathEffect);
을 사용하고 있습니다 .
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);
다음과 같은 효과가 나타납니다.
하는 것으로, 나는 PolyQuadraticBezierSegment
또는 PolyBezierSegment
를 사용하지 마십시오. 경향이 불안정한. 즉, 새 점을 선 그래프에 추가 할 때마다 새로 추가 된 점은 이미 화면에 그려져있는 이전 경로를 변경하는 경향이 있습니다. 최종 결과로서, 전체 라인 그래프가 흔들리는 것을 관찰 할 수 있습니다.
라인 세그먼트를 부드럽게 만들 수 있습니까? 내가 lineSegment.IsSmoothJoin = true;
을 사용했지만, 나는 여전히 날카로운 구석을 볼 수 있습니다. Android의 CornerPathEffect와 동일한 기능을 사용할 수 있습니까?