我有一个bool函数,如果它在椭圆上,则检查点。此外,用户可以在椭圆路径附近移动鼠标以选择椭圆,以便将其移动到新位置。 我检查了椭圆边界矩形的角点。如果用户选择这四个点,则启用椭圆的调整大小功能,我已经实现了。
对于要启用的移动功能,我正在使用Region类检查距离等于cushion
的点(即提供给鼠标位置的填充)。
在下面的代码中,我考虑了3个边界矩形,如果要检查的点位于外部椭圆的区域和椭圆内部之间,我想返回true。如果不是,则返回false。
我希望在红色区域检查我的观点。 p.S :: 连续的边界矩形之间的距离是相同的,不同于图中所示。椭圆边缘(外部,中间和内部)之间的距离相同 我提到的链接:: Link 1用于解决方案
编辑::已解决的问题 GraphicsPath.IsOutlineVisible()
答案 0 :(得分:1)
如果您手头有Region
个对象,为什么不使用它支持的IsVisible
方法,如下所示:
if(yourEllipseRegion.IsVisible(pointToCheck)){
//your code here
}
更多信息Region.IsVisible
答案 1 :(得分:1)
我直接使用GraphicsPath对象调用IsOutlineVisible(point,Pen)来执行此操作.Reference