Canvas の回転メソッドのドキュメントには、度パラメーターは「回転する量 (度単位)」であると記載されています。しかし、私の経験では、これは誤解を招くものです。たとえば、ビットマップが正規の直立方向 (つまり、12:00 の theta = 0) にあるときに、rotate(45) を呼び出すと、ビットマップは 0 に対して 45 度忠実に回転します。を回転させても(45)、画像は動かない[ように見える]。次に、rotate(-45) を呼び出すと、ビットマップは元の方向に戻りませんが、代わりに 0 に対して -45 度回転します。つまり、度パラメーターは絶対です (「45 度に回転」ドキュメントが示すように、相対的ではありません(「45度回転」)。これはまさに私が望んでいないことです。
特定の方向から、ビットマップを+/- x 度回転できるようにしたいと考えています。ここで、+ はもちろん時計回りの回転です。これを偽造する 1 つの方法は、次のローテーションのためにローテーションを「新しい 0」にすることです (つまり、実質的に 12:00 を占めます)。私の質問は次のとおりです。これを行うにはどうすればよいですか、または、私が望むことを達成するためのより良い方法はありますか?
どうもありがとう。