다른 구분 유형 (호, 베 지어, 선분)을 사용하여 영역 셰이프를 그리려면 WPF에서 컨트롤을 만들고 복잡한 영역 셰이프를 만드는 것을 막고 싶습니다. 즉, 가장자리가 겹치는 모양을 말합니다.WPF의 PathFigure에서 세그먼트가 겹치는 지 확인하는 좋은 방법이 있습니까?
변환기로 생성 된 PathGeometry
으로 작업하지만 변환기가 완료된 후 XAML은 다음 XAML처럼 보입니다. 중복이없는 경우와
: 겹침
<Path x:Name="PolygonPath" Fill="Blue" Opacity="75">
<Path.Data>
<PathGeometry>
<PathGeometry.Figures>
<PathFigure StartPoint="50,50" IsClosed="True" IsFilled="True">
<PathFigure.Segments>
<QuadraticBezierSegment Point1="100,0" Point2="200,50"/>
<LineSegment Point="250,50"/>
<LineSegment Point="250,200"/>
<QuadraticBezierSegment Point1="100,350" Point2="50,50"/>
</PathFigure.Segments>
</PathFigure>
</PathGeometry.Figures>
</PathGeometry>
</Path.Data>
</Path>
가 (검사에 실패한다) 위의 경우
<Path x:Name="PolygonPath" Fill="Blue" Opacity="75">
<Path.Data>
<PathGeometry>
<PathGeometry.Figures>
<PathFigure StartPoint="50,50" IsClosed="True" IsFilled="True">
<PathFigure.Segments>
<QuadraticBezierSegment Point1="100,0" Point2="200,60"/>
<LineSegment Point="0,60"/>
<LineSegment Point="250,200"/>
<QuadraticBezierSegment Point1="100,350" Point2="50,50"/>
</PathFigure.Segments>
</PathFigure>
</PathGeometry.Figures>
</PathGeometry>
</Path.Data>
</Path>
제 2 및 제 3 선분 <LineSegment Point="0,60"/>
마지막 세그먼트 <QuadraticBezierSegment Point1="100,350" Point2="50,50"/>
오버랩 <LineSegment Point="250,200"/>
.
경로가 WPF의 어느 시점에서 교차하는지 테스트하기 위해 누락 된 메서드가 있습니까?
을 간주한다. 여러 개의 세그먼트가있는 단일 그림으로 작업하고 있습니다. 나는 나의 질문을 더 분명히하려고 노력할 것이다. 고맙습니다. –