4

好的,所以我使用此代码在画布上创建了一个矩形

Rect r =new Rect((point.x - rectWidth / 2), (point.y - rectHeight / 2),(point.x-rectWidth / 2),(point.y + rectHeight / 2));

点是由触摸事件确定的矩形的中心。但现在我希望能够旋转这个矩形。是否有任何代码或方法允许用户围绕其中心旋转形状。我也有兴趣获得这样一个矩形的角点。任何帮助表示赞赏。谢谢。

4

2 回答 2

9

围绕它自己的中心(而不是原点)旋转一个矩形:

Matrix m = new Matrix();
// point is the point about which to rotate.
m.setRotate(degrees, point.x, point.y);
m.mapRect(r);

您还可以使用Matrix.mapPoints()来查找角的转换方式。

于 2013-10-29T20:22:06.053 回答
2

使用以下:

Rect r2 = new Rect(r1);
Matrix mat = new Matrix();
mat.setRotate(-90, r2.centerX(), r2.centerY());
mat.mapRect(r2);
于 2019-01-06T02:22:02.210 回答