none
shape.Path画线段时有误差 RRS feed

  • 问题

  • 我就在mainwindow里面放了一个grid,然后在grid上面画path。比如我想画一个(10,10) (10,20)的一条线段,在屏幕上显示出来的线段明显超过10,而且端点坐标也不对。但是我在画了第三个点之后,三个点形成的三角形就是正常的,三个端点的坐标都对。其余两个坐标连成的线段也变短了。

    画线的方式如下

    _grid.Children.Add(new System.Windows.Shapes.Path() { Data = Geometry.Parse("M50,50L100,100z"), Stroke = Brushes.Green, StrokeThickness = 2});

    2015年11月18日 2:02

答案

  • 已经解决了, data结尾的 z 表示path的关闭,即在最后的一个点和起点之间画一条线段, 这样的话, 如果path只画两点, 看起来是 一条线段, 其实是两条线段, 多出来的一条, 就是最后画的闭合线段, 之所以比较长,大概就是为了区别闭合和不闭合吧。 解决方法就是把最后的 Z去掉, 然后就会画出开口的线段, 就恢复正常了。 
    2015年11月19日 9:38