如何在Android中找到Shape的旋转点

时间:2013-09-19 10:27:59

标签: android android-canvas

enter image description here

我有一个形状e-g,Rectanle,我想以角度X旋转它,并希望获得更新的旋转形状点。

目前我正在使用canvas.rotate旋转对象,但原始点保持不变;不是旋转的。我正在使用此代码。

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

任何帮助将不胜感激......

1 个答案:

答案 0 :(得分: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);