WinForms - 一个矩形覆盖另一个矩形的面积的百分之几

时间:2013-09-21 12:10:24

标签: c# system.drawing rectangles

给出两个System.Drawing.Rectangle - 如何确定第二个矩形覆盖的第一个矩形区域的百分比是多少?

例如,如果第二个矩形位于第一个矩形的中间位置,则结果应为50%。

1 个答案:

答案 0 :(得分:3)

您可以使用Rectangle.Intersect方法获取intersection矩形:

Rectangle rect = new Rectangle(firstRect.Location, firstRect.Size);
rect.Intersect(secondRectangle);
var percentage = (rect.Width * rect.Height) * 100f/(firstRect.Width * firstRect.Height);