c#:检查椭圆上的点

标签 c# winforms region ellipse graphicspath

我有一个 bool 函数,用于检查点是否在椭圆上。此外,用户可以将鼠标移动到椭圆路径附近以选择椭圆,以便将其移动到新位置。 我检查了椭圆外接矩形的角点。如果用户选择这四个点,则启用椭圆的调整大小功能,我已经实现了该功能。

为了启用移动功能,我使用 Region 类检查距离等于 cushion 的点(即为鼠标位置提供的填充)。

<强> Tried:: 在下面的代码中,我考虑了 3 个边界矩形,如果要检查的点位于外部椭圆和内部椭圆的区域之间,我想返回 true。如果不是,则返回 false。

我希望在红色区域检查我的观点。 p.S::连续边界矩形之间的距离与图片中绘制的不同,即椭圆边(外、中、内)之间的距离相同 我引用的链接::Link 1寻求解决方案

编辑::已解决问题 GraphicsPath.IsOutlineVisible()

最佳答案

如果您手头有 Region 对象,为什么不使用它支持的 IsVisible 方法,如下所示:

if(yourEllipseRegion.IsVisible(pointToCheck)){
   //your code here
}

更多信息Region.IsVisible

关于c#:检查椭圆上的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18180334/

相关文章:

c# - 捕获 Web 浏览器控件的鼠标右键单击事件

python - 操作二维列表区域的更短方法

javascript - 获取不同地区不同的javascript日期

ios - didEnterRegion、didExitRegion 未被调用

c# - 接口(interface)中的 List<T> 到 IEnumerable<T> 问题

c# - 将构造函数参数传递给在 InitializeComponent 中创建的控件

c# - DataType 的 DataTemplate - 如何在特定的 ListBox 中覆盖此 DataTemplate?

c# - 用文本框中的数字填充字典并将文本框作为键

c# - 如何包含 System.Windows.Shapes?

c# - 在 MVC 5 中读取和使用 appsettings.json 中的设置