画像を操作したり、移動したり、回転したり、拡大縮小したりするキャンバスがあります。すべての変換を組み合わせようとするまで、すべてが正常に機能しています。たとえば、ユーザーのマウスの動きの違いに基づいて画像を移動していても問題ありませんが、最初に画像を回転させて、たとえば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();