在拖动鼠标的同时在正方形内绘制一个圆

时间:2018-05-14 19:18:38

标签: graphics2d

我想我没有过好日子,而且我正在努力解决一个问题,我认为应该很容易。

拖动鼠标时我必须绘制一个圆圈。用户点击并按住,拖动鼠标,然后释放按钮。

可是:

1)我有mousedown事件的坐标和当前的坐标(x1,y1,x2,y2)。这个定义了一个矩形。

2)(x1,y1)必须是圆心,半径必须是x1,y1和当前距离之间的距离。

3)我必须显示当前半径(值;不是线本身)。

4)用户必须能够绘制向左,向右,向上,向下和任何中间组合拖动的圆圈。

非常感谢!

PS:作为一个选项(例如,如果用户在按下shift键时拖动),矩形应为正方形,应绘制圆形而不是椭圆形。

1 个答案:

答案 0 :(得分:1)

(下注0,0左上角,否则反转1和2; x1 / y1按下按钮为中心)

radius = sqrt((x1-x2)^ 2 +(y1-y2)^ 2)

x_leftuppercorner = x1 - radius

y_leftuppercorner = y1 - radius

x_rightlowercorner = x1 + radius

y_rightlowercorner = y1 + radius

dCircle(x_luc,y_luc,x_ruc,y_ruc)