如何测试GDI+;GraphicsPath与Mono上的矩形相交?
我正在尝试使Windows.Forms代码库(即它使用GDI+绘制)在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
矩形相交。
现有代码如下所示:
[...]
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
始终包含由直线构建的形状,则此功能有效。目前确实如此(这是我的解决办法),但我将来可能会想要更漂亮的形状。