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

本文关键字:另一个 百分比 覆盖 一个 WinForms | 更新日期: 2023-09-27 18:32:11

给定两个System.Drawing.Rectangle的 - 如何确定第二个矩形覆盖的第一个矩形面积的百分比?

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

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

您可以使用

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);