Android:Rect实际上代表两个矩形

Android:Rect实际上代表两个矩形,android,rect,Android,Rect,矩形有参数left、top、right和bottom来表示矩形,但它实际上表示两个矩形。见下图: 当我使用以下命令旋转左侧的矩形时: matrix.setRotate(45,myRect.exactCenterX(), myRect.exactCenterY()); matrix.mapRect(myRect); 我原以为矩形是红色的,但我得到了蓝色的。因为相同的参数(左、上、右、下)表示两个矩形 这是Android的Rect的问题吗?我怎样才能得到红色的矩形 Rect保存矩形的四个整数坐标

矩形有参数left、top、right和bottom来表示矩形,但它实际上表示两个矩形。见下图:

当我使用以下命令旋转左侧的矩形时:

matrix.setRotate(45,myRect.exactCenterX(), myRect.exactCenterY());
matrix.mapRect(myRect);
我原以为矩形是红色的,但我得到了蓝色的。因为相同的参数(左、上、右、下)表示两个矩形

这是Android的Rect的问题吗?我怎样才能得到红色的矩形

Rect保存矩形的四个整数坐标。矩形是 由其4条边(左、上、右)的坐标表示 底部)


Rect
类基本上只是左/上角和右/下角的一组坐标。它没有任何旋转的概念。

在旋转前尝试设置rect:

与此相反:

matrix.setRotate(45,myRect.exactCenterX(), myRect.exactCenterY());
matrix.mapRect(myRect);
试试这个:

matrix.mapRect(myRect);    
matrix.setRotate(45,myRect.exactCenterX(), myRect.exactCenterY());

你是如何旋转矩形的?你的代码会很有用的。使用矩阵。添加到我的问题中。你所说的“如何获得矩形”是什么意思?@pskink。我得到的是蓝色的矩形,而不是红色的。基本上,你要做的是围绕矩形的中心旋转两个点(左上角和右下角)。所以我想最简单的解决方案是将旋转应用于矩形的所有4个角点。问题是:两点代表两个矩形。点的旋转正在正确执行。