开发者

WPF: Get single points of a Path?

I have a Path in WPF and I'd like to get the single 开发者_StackOverflowpoints of this path. Is this somehow possible? (I used a WPF built-in PathSegment and I'd like to get the points that WPF calculated)

Thanks for any hint!


Geometry.GetFlattenedPathGeometry returns "a polygonal approximation of the Geometry object." You can then iterate over the figures and segments of the flattened Geometry: each figure should consist of a single PolyLineSegment, from which you can iterate over the Points property to get the points along the path. Thus:

  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);


In WPF4 there is also the method GetPointAtFractionLength, which lets you get the coordinates of any point and its tangent vector along the length of the path ranging from 0.0 - 1.0.

Very handy to "sample" an arbitrary amount of points along a path.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜