0

質問は他の質問に関連しています:少なくともその部分。正しい 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