多边形绘图

时间:2011-04-07 04:34:39

标签: c# .net

我希望用户使用鼠标定义多边形并单击以定义点。第二个任务是,一旦我有一组定义的多边形,我想检查一些随机生成的点是否位于这些多边形中的任何一个。

我正在使用C#.net平台。感谢。

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

我回答了一个相当类似的问题,你可能会发现answers there是一个很好的起点。

答案 2 :(得分:0)

旧线程,但直接解决方案。如果您充分利用Graphics和Drawing2D命名空间,这实际上非常简单。

GraphicsPath.AddLines( Point[] )

Graphics.DrawPath( Drawing2D.GraphicsPath )

Graphics.FillPath( Drawing2D.GraphicsPath )

GraphcisPath.CloseFigure( )

所以你只需创建一个新路径,然后调用AddLines传递你的点数组,然后调用CloseFigure。

如果您想用笔抚摸它,请使用DrawPath。如果要用画笔填充它,请使用FillPath。

对多边形内任何点的命中测试也很简单,你可以使用Drawing.Region( Drawing2D.GraphicsPath )Region.IsVisible的任何重载来指定位置和图形对象。