C# 如何确定点是否位于矩形内的椭圆内?

C# 如何确定点是否位于矩形内的椭圆内?,c#,.net,geometry,drawing,shape,C#,.net,Geometry,Drawing,Shape,使用C#和.NET。。。我想监控电脑屏幕上的任何像素是否会变为某种颜色,但只监控屏幕“固定”区域内的像素,该区域呈椭圆形。给定一个x,y坐标表示屏幕上某个地方的像素(从0,0到19191079),我如何判断它是否在屏幕上的椭圆内 具体来说,我的屏幕是1920宽x1080像素高。椭圆宽1100像素,高700像素,椭圆顶部从屏幕最顶部开始200像素,椭圆最左侧从屏幕左边缘开始350像素 鉴于上述情况,是否有人能提供一个C#中的示例方法,该方法获取一个点,如果该点位于该椭圆内,则返回true,否则返回

使用C#和.NET。。。我想监控电脑屏幕上的任何像素是否会变为某种颜色,但只监控屏幕“固定”区域内的像素,该区域呈椭圆形。给定一个x,y坐标表示屏幕上某个地方的像素(从0,0到19191079),我如何判断它是否在屏幕上的椭圆内

具体来说,我的屏幕是1920宽x1080像素高。椭圆宽1100像素,高700像素,椭圆顶部从屏幕最顶部开始200像素,椭圆最左侧从屏幕左边缘开始350像素

鉴于上述情况,是否有人能提供一个C#中的示例方法,该方法获取一个点,如果该点位于该椭圆内,则返回true,否则返回false?我在网上找到了一些关于如何检测一个点是否落在椭圆内的例子,但不确定如何将其与我的需要联系起来

同样作为问题的第二部分——在不久的将来,除了这个椭圆外,我可能还需要定义屏幕的多个区域。例如,如果点落在椭圆内或屏幕的其他区域内,则可能是椭圆、斜纹或多边形形状。请不要仅仅为了这一部分而使代码片段过于复杂-主要问题只是集中在椭圆上。但在这种情况下,它是相对容易使它支持椭圆以及其他定义的屏幕区域,这将是很好的了解。提前感谢您的帮助


请在示例和解释中尽可能详细,因为我是一个新手程序员,很多事情我都不懂

根据椭圆的主次曲线,计算出椭圆的方程式 在本例中,轴a=1100/2=550和b=700/2=350及其中心坐标为 (cx,cy)=(900550)。然后使用椭圆方程: 如果(x,y)满足

  • (x-cx)^2/a^2+(y-cy)^2/b^2只需使用


    这比C更像是数学,这实际上应该对你有所帮助——应该可以用这个等式编写一个程序。但避免要求完整的代码,尽量减少具体问题。
    System.Drawing.Drawing2D.GraphicsPath Ellipse = new System.Drawing.Drawing2D.GraphicsPath();
    Ellipse.AddEllipse(350, 200, 1100, 700);
    
    Point pt = new Point(x, y); // get your point from somewhere
    if (Ellipse.IsVisible(pt)) // test to see if the point is contained by the ellipse
    {
        // ...do something in here...
    }