2010-04-15 24 views

回答

10

Geometry.GetFlattenedPathGeometry返回然后可以遍历扁平几何的附图和段“几何对象的多边形近似。”:各图中应包括一个单一的PolyLineSegment的,从中可以遍历Points属性以获得路径上的点。因此:

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

感谢您的回复,并对我迟到的回复感到抱歉。我只是检查了这一点,不幸的是它不能正常工作。在我的情况下,我有一个二次贝塞尔段,我得到的每个约30的x dfference的点,而差异不应该超过1): – 2010-05-16 16:12:49

2

在WPF4还有的方法GetPointAtFractionLength,它可以让你得到任何点的坐标,并沿着路径范围从0.0的长度在它的切线向量 - 1.0。

非常方便“采样”沿路径的任意数量的点。