WPF获取多边形点坐标

时间:2013-11-22 17:27:17

标签: c# wpf polygon point

我有一个WPF多边形,它可以有不同数量的边。我想动态地得到每个交叉点的X,Y坐标。

我可以使用下面的代码

获取多边形的相对点
 Point relativePoint = polygon.TransformToAncestor(LayoutRoot)
                          .Transform(new Point(0, 0));

如果多边形是方形的,我可以通过将高度和宽度添加到相对点来获得坐标。

  double polygonWidth = polygon.ActualWidth/2;
        double polygonHeight = polygon.ActualHeight/2;

但是如果它不是正方形,那么怎样才能得到所有的X,Y为这个交叉点进行协调。

1 个答案:

答案 0 :(得分:1)

给定相对于Polygon的坐标点,您可以轻松检查:

if (polygon.RenderedGeometry.FillContains(point))
{
    ...
}

如果要在鼠标单击时检查,可以通过调用

来获取相对点
var point = e.GetPosition(polygon);

其中eMouseButtonEventArgs