查找由其他两个相交形状创建的形状

Jon*_*n B 3 .net c# gdi+ shapes

我的C#app中有两个重叠的形状,由Point数组定义.我需要找到定义这两个重叠的形状的点.在这张图片中,我知道红点和绿点,但我需要黄点.

替代文字

这是一些可能有用的虚拟代码:

Point[] GetIntersection(Point[] red, Point[] green)
{
    Point[] yellow = ?!?;

    return yellow;
}
Run Code Online (Sandbox Code Playgroud)

假设有很好的简单矩形,你肯定有办法做到这一点.在实践中,我需要能够处理多边形甚至圆形(虽然我可以没有圆圈).

有任何想法吗?我希望有一个漂亮的GDI +功能,只会吐出来.

Red*_*ter 5

听起来这个Region::Intersect方法可以满足您的需求.