有什么方法可以告诉用户点击的WPF Ellipse形状的哪一部分?

时间:2011-01-28 01:36:13

标签: wpf ellipse

这可能看起来像一个愚蠢的问题,但有没有办法确定用户点击的椭圆的哪个部分(比如象限)?

或者是根据相对于形状本身的鼠标点坐标来计算它的唯一选择吗?

我正在开发一个控件,允许用户点击椭圆的任何部分并拖动它以调整大小(如果有帮助的话)。

2 个答案:

答案 0 :(得分:1)

确定与形状相关的鼠标坐标应该相当容易。检查X坐标,看它是否大于或等于Shape.Width / 2。然后用Y和Shape.Height做同样的事情。它应该为您提供单击鼠标的正确象限。

答案 1 :(得分:1)

你可以在Mathworld中看到椭圆的一般方程是:

equation for ellipse

椭圆内的点是等式产生<= 1的点。

如果椭圆外接到矩形R,则:

  • (x0,y0) = center(R)
  • a = width(R)/2
  • b = height(R)/2
  • (x,y)是点击的点。