我有一个画布,可以在其中处理图像、移动、旋转和缩放。在我尝试结合所有转换之前,一切正常。例如,我根据用户鼠标移动的差异来移动图像,这没关系,但是如果我首先将图像旋转到 180 度,那么图像移动相对于鼠标移动是反转的。我该如何解决?
ctx.clearRect(0, 0, 320, 580);
ctx.save();
ctx.translate(canvas.width / 2, canvas.height / 2);
ctx.scale(scale, scale);
ctx.rotate(toRad(angle));
ctx.translate(-(canvas.width / 2), -(canvas.height / 2));
ctx.drawImage(image, tx, ty, image.width, image.height);
ctx.restore();