0

这似乎是一个愚蠢的问题,但有什么方法可以确定用户点击了椭圆的哪个部分(例如,象限)?

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

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

4

2 回答 2

1

找出与形状相关的鼠标坐标应该相当容易。检查 X 坐标,看它是否大于或等于Shape.Width / 2。然后对 Y 和 Shape.Height 执行相同的操作。它应该为您提供单击鼠标的正确象限。

于 2011-01-28T01:56:31.573 回答
1

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

椭圆方程.

椭圆内的点是方程产生的点<= 1

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

  • (x0,y0) = center(R)
  • a = width(R)/2
  • b = height(R)/2
  • (x,y)是点击的点。
于 2011-01-28T02:00:38.043 回答