WPF: Get single points of a Path?

…衆ロ難τιáo~ 提交于 2019-11-30 16:06:35

问题


I have a Path in WPF and I'd like to get the single points 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!


回答1:


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



回答2:


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.



来源:https://stackoverflow.com/questions/2642100/wpf-get-single-points-of-a-path

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!