好的,我使用以下代码在画布上创建了一个矩形:
Rect r =new Rect((point.x - rectWidth / 2), (point.y - rectHeight / 2),(point.x-rectWidth / 2),(point.y + rectHeight / 2));
点是由触摸事件确定的矩形的中心。但现在我想能够旋转这个矩形。有没有什么代码或方法可以允许用户围绕其中心旋转形状。我还对获取这样一个矩形的角点感兴趣。任何帮助都将不胜感激。谢谢。
好的,我使用以下代码在画布上创建了一个矩形:
Rect r =new Rect((point.x - rectWidth / 2), (point.y - rectHeight / 2),(point.x-rectWidth / 2),(point.y + rectHeight / 2));
点是由触摸事件确定的矩形的中心。但现在我想能够旋转这个矩形。有没有什么代码或方法可以允许用户围绕其中心旋转形状。我还对获取这样一个矩形的角点感兴趣。任何帮助都将不胜感激。谢谢。
要将矩形围绕其自身中心旋转(而不是原点):
Matrix m = new Matrix();
// point is the point about which to rotate.
m.setRotate(degrees, point.x, point.y);
m.mapRect(r);
Matrix.mapPoints()
来查找角落是如何转换的。请使用以下内容:
Rect r2 = new Rect(r1);
Matrix mat = new Matrix();
mat.setRotate(-90, r2.centerX(), r2.centerY());
mat.mapRect(r2);