如何在Android中旋转Rect对象

时间:2013-03-13 00:52:20

标签: java android

好的,所以我使用这段代码在画布上创建了一个Rectangle

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

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

2 个答案:

答案 0 :(得分:8)

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

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

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

答案 1 :(得分:0)

使用以下内容:

Rect r2 = new Rect(r1);
Matrix mat = new Matrix();
mat.setRotate(-90, r2.centerX(), r2.centerY());
mat.mapRect(r2);