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