6

ここに画像の説明を入力

Rectanle などの形状があり、それを角度 X で回転させ、形状の更新された回転点を取得したいと考えています。

現在、オブジェクトの回転には canvas.rotate を使用していますが、元のポイントは同じままです。回転したものではありません。私はこのコードを使用しています。

    canvas.save();
    canvas.rotate(angle, Pivate.x, Pivate.y);
    canvas.drawRect(left, top, right, bottom, redPaint);
    canvas.restore();

どんな助けでも大歓迎です...

4

1 に答える 1

5

ポイントの更新配列を取得するには、次の方法が必要です...

  float[] ptArr = new float[] { 20, 30, 60, 30, 60, 45, 20, 45};


  Matrix m = new Matrix();
  m.preRotate(angle, px, py); // where px and py is pivot point.

  m.mapPoints(ptArr);
  //at this point your array will be updated.
 canvas.drawPoints(ptArr, mPaint);
于 2013-09-19T10:33:11.720 に答える