如何测试GDI+;GraphicsPath与Mono上的矩形相交?

如何测试GDI+;GraphicsPath与Mono上的矩形相交?,mono,gdi+,Mono,Gdi+,我正在尝试使Windows.Forms代码库(即它使用GDI+绘制)在Mono上工作。 只剩下几个问题需要解决 其中之一:我需要测试给定的图形片段是否与给定的矩形相交。 现有代码如下所示: [...] GraphicsPath gp = new GraphicsPath(); [...] // draw something to the GraphicsPath Pen penToUse = new Pen(Color.Black, 10); // 1 would probably do a

我正在尝试使Windows.Forms代码库(即它使用GDI+绘制)在Mono上工作。 只剩下几个问题需要解决

其中之一:我需要测试给定的图形片段是否与给定的
矩形相交。
现有代码如下所示:

[...]
GraphicsPath gp = new GraphicsPath();
[...]  // draw something to the GraphicsPath
Pen penToUse = new Pen(Color.Black, 10);  // 1 would probably do as well
gp.Widen(penToUse); //TODO: find a better way
Region reg = new Region(gp);
return reg.IsVisible(rect);
,当我省略它时,路径没有区域,导致
IsVisible
总是失败


如何以Mono支持的方式解决此问题?

为什么不使用简单的直线/矩形交点检测功能呢?@zinking:如果
GraphicsPath
始终包含由直线构建的形状,则此功能有效。目前确实如此(这是我的解决办法),但我将来可能会想要更漂亮的形状。