获得两个矩形的非重叠区域

时间:2011-06-13 16:02:01

标签: c# winforms graphics

如何获得两个矩形的非重叠区域的“多边形”或“区域”。

与(A-B)类似,其中“A”和“B”是矩形。我们可以使用Rectangle.Intersect方法轻松获取交叉矩形,但我想要一个不常见的矩形部分。

由于

2 个答案:

答案 0 :(得分:2)

您可以使用Intersect获取两个矩形的交集。这意味着你可以得到十字路口的区域。因此,将交点的面积乘以2(乘以2,因为它在两个矩形上占据相同的面积),并从两个矩形的总面积之和中减去它。

答案 1 :(得分:2)

Rectangle a, b;

var region = new Region(a);
region.Exclude(b);

Region.Exclude(Rectangle rect) method