2010-04-15 1 views
3

WPF에 Path이 있는데이 경로의 단일 지점을 얻고 싶습니다. 어떻게 든 가능합니까? (WPF가 내장 된 PathSegment를 사용하여 WPF가 계산 한 포인트를 얻고 싶습니다.)WPF : 경로의 단일 점 가져 오기?

어떤 힌트를 주셔서 감사합니다!

답변

10

Geometry.GetFlattenedPathGeometry 반환 그런 다음 평평 기하학의 수치와 세그먼트를 반복 할 수 있습니다 "기하학 오브젝트의 다각형 근사."각 그림은 하나의 PolyLineSegment 구성되어야합니다, 당신은 포인트 속성을 반복 할 수있는 경로를 따라 포인트를 얻는다. 그러므로 : - 1.0 WPF4에서

PathGeometry g = Path.Data.GetFlattenedPathGeometry(); 

    foreach (var f in g.Figures) 
    foreach (var s in f.Segments) 
     if (s is PolyLineSegment) 
     foreach (var pt in ((PolyLineSegment)s).Points) 
      Debug.WriteLine(pt); 
+0

답장을 보내 주셔서 감사 드리며 늦어서 답변드립니다. 난 그냥 이걸 확인하고 불행히도 잘 작동하지 않습니다. 제 경우에는 2 차 베 지어 세그먼트가 있고 각각의 차이가 1보다 커야하지는 않지만 약 30 개의 x 간격으로 점을 얻습니다. –

2

또한 임의 지점의 좌표가 0.0에 이르기까지의 경로의 길이 방향의 접선 벡터를 얻을 수있어서 GetPointAtFractionLength있을 것이다.

경로를 따라 임의의 점을 "샘플링"하면 매우 편리합니다.