在android画布中,我定义了一个具有多种形状的剪裁区域(一个矩形和两个圆圈)。我想得到剪裁区域定义的内切矩形。
Canvas有一个名为getClipBounds()
的方法,它给出了外接矩形,我该如何获得内接矩形?
编辑:以下是有关如何制作原始形状的一些信息:
Region.Op.INTERSECT
Region.Op.INTERSECT
Region.Op.DIFFERENCE
答案 0 :(得分:1)
如果你知道半径和数量,这可以用数学方法确定。两个圆圈的中心。
使用getClipBounds()矩形找到两个圆的交点。 - 红色圆圈和getClipBounds()矩形之间的第二个最高交叉点保持矩形的上y坐标。 - 白色圆圈和getClipBounds()矩形之间的高交叉点保持矩形的下y坐标。 - x边界已由getClipBounds()矩形给出。
你可以从那里构建你的三个形状。