0

这个问题与另一个问题有关:https ://stackoverflow.com/questions/26948677/translate-coordinates-to-its-equivalent-in-scale1没有人给出回应,但它不再重要,因为它已解决,在至少那部分。我得到正确的 x 和 y 值。

我把你放在一个情况下,我正在开发的应用程序允许用户创建一个具有 6 个不同背景的图像,其中包含有趣的人物,没有脸,这样用户就可以放一张他/她的脸的照片。为此,他们可以拖动、捏合以缩放和旋转图像。拖动和捏缩放是在控制之下,但是当图像旋转时,我无法在确切的坐标中匹配图像。图像总是上升一点。

一个例子,我得到的值是:

x:30,y:80,比例:0.5,度:40。

因此,当我在画布中绘制旋转图像时,y 似乎会根据度数上升一点。度数少,升得少。

我正在使用这个函数来绘制旋转的图像:

var TO_RADIANS = Math.PI / 180;
var drawRotatedImage = function (context, image, x, y, angle) {
    context.save();

    context.translate(x, y);

    context.rotate(angle * TO_RADIANS);

    context.drawImage(image, -(image.width / 2), -(image.height / 2));

    context.restore();

}

PD:要指出的是,如果我不旋转图像,它会在正确的位置完美匹配。

如何获得旋转图像的正确 x 和 y 值?

4

0 回答 0