Android 安卓矩形旋转

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,

我使用这个函数来旋转一个矩形。但结果是一个更大的矩形

这是初始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, 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);