0

我正在尝试使用鼠标角度旋转图像:首先我使用以下方法计算鼠标度数:

                mouseX = parseInt(e.clientX - offsetX);
                mouseY = parseInt(e.clientY - offsetY);
                var mouse_x = e.pageX; var mouse_y = e.pageY;
                var radians = Math.atan2(mouse_y - crossY, mouse_x - crossX);
                if (radians < 0) radians += 2.0 * Math.PI;
                degree = (radians * 180 / Math.PI + 90) % 360;

然后我在舞台中心做了一个圆圈(根据圆圈的位置重新计算偏移量);当我拖动图像旋转的圆圈时,使用以下命令:

  circle2.on('dragmove', function (event) {
            var newangle = dImage1.getRotation();
            $("#newangle").html(newangle);
            dImage1.rotate((degree - newangle) / 36000); // I used 36000 as a factor to calibrate the degree of rotation
            dlayerA1.draw();
        });

第一个问题是我无法确定基于圆形旋转来旋转图像的正确因素。第二个问题是如何逆时针旋转圆圈?

完整的演示位于http://jsfiddle.net/user373721/pz7W8/

非常感谢您的帮助,在此先感谢。

4

1 回答 1

0

我相信 .rotate() 只会添加您想要的角度 .setRotation(),这将允许向前和向后旋转;

http://jsfiddle.net/pz7W8/2/

    dImage1.setRotation((degree - newangle) / 180); // Keep experimenting what number to divide by
于 2013-04-03T15:05:23.467 回答