Android 安卓矩形旋转
我使用这个函数来旋转一个矩形。但结果是一个更大的矩形 这是初始rect: 我一打电话Android 安卓矩形旋转,android,matrix,rotation,rect,Android,Matrix,Rotation,Rect,我使用这个函数来旋转一个矩形。但结果是一个更大的矩形 这是初始rect: 我一打电话 public static void rotateRect(final int degrees, final int px, final int py, final Rect rect) { final RectF rectF = new RectF(rect); final Matrix matrix = new Matrix(); matrix.setRotate(degrees,
public static void rotateRect(final int degrees, final int px, final int py, final Rect rect) {
final RectF rectF = new RectF(rect);
final Matrix matrix = new Matrix();
matrix.setRotate(degrees, px, py);
matrix.mapRect(rectF);
rect.set((int) rectF.left, (int) rectF.top, (int) rectF.right, (int) rectF.bottom);
}
这就是我得到的:
mapRect文档说:将这个矩阵应用于src矩形,并将转换后的矩形写入dst。这是通过变换src的4个角来实现的,然后将dst设置为这些点的边界,我应该如何做?我是个新手,不太懂。请给我一些代码示例。mapPointspoints方法调用有什么问题吗?mapPointsrectF.left,int rectF.top,int rectF.right,int rectF.bottom这是我必须调用的?
rotateRect(55, stickRect.centerX(), stickRect.centerY(), stickRect);