如何在矩形框内旋转图像

时间:2019-04-26 12:18:51

标签: javascript reactjs canvas rotation geometry

我要拖动以下img(通过在矩形顶部拖动一个圆)并旋转图像。

Rectangle box with image inside it

拖动时,我只想旋转矩形内的图像,而不是矩形本身。我不确定我的操作是否正确,当我开始拖动时是否具有以下公式:

const newAngle = Math.atan(circleDrag.y, circleDrag.x) * (180 / Math.PI);

我从矩形的顶部得到了圆的位置,但是它仅在90110度之间给了我一些东西。我认为正确的旋转角度应该从0开始,并且应该在0-360度之间旋转。

有人可以指导我如何计算旋转角度吗?

1 个答案:

答案 0 :(得分:0)

如果我正确理解您的需求,则必须测量从矩形的中心点到圆心的方向角。

Math.atan(circleDrag.y - rectangleCenter.y, circleDrag.x - rectangleCenter.x)

(目前您正在计算从坐标原点到圆的方向)