如何知道GraphicsPath是否包含C#中的一个点

Dan*_*lba 8 .net c# drawing system.drawing

我正在使用.NET绘制图表,我想在用户点击它们时突出显示对象.当图形完全包含在矩形中时很容易:

if (figure.Bounds.Contains(p)) // bounds is a rectangle
Run Code Online (Sandbox Code Playgroud)

但如果数字很复杂,我不知道如何管理它GraphicsPath.

GraphicsPath为图(绿色圆圈)定义了以下内容.

的GraphicsPath

我想在用户点击它时突出显示该图.我想知道是否Point包含a GraphicsPath.

有任何想法吗?提前致谢.

Cas*_*jne 14

我不知道DrawingPath(你的意思是; graphics.DrawPath)但是GraphicsPath有一个IsVisible方法来检查一个点是否在路径中.

bool isInPath = graphicsObj.IsVisible(point)
Run Code Online (Sandbox Code Playgroud)