Pobieranie pozycji kursora w PictureBox i sprawdzanie obszaru

0

Witam
Pobieram pozycję kursora w PictureBox i sprawdzam czy zawiera się ona w dowolnym, prostokątnym obszarze za pomocą takiej instrukcji:

if ( (mx >= x1) && (mx <= x2) && (my >= y1) && (my <= y2) )
{
      //   jakiś kod
}
 

Pytanie moje brzmi, jak zrobić to samo dla obszaru o kształcie elipsy? Dodam, że nie wchodzi w grę dodatkowa kontrolka i wykrycie zdarzenia on_click. Jeden PictureBox i sprawdzenie wirtualnego obszaru.

0

Znalazłem też takie rozwiązanie z tym, że to dla okręgu:

 
 bool ClickPoint(Point centre, int radius, Point click)
        {
            int dX = Math.Abs(click.X - centre.X);
            int dY = Math.Abs(click.Y - centre.Y);
            int sumOfSquares = dX * dX + dY * dY;
            int distance = (int)Math.Sqrt(sumOfSquares);
            return (radius >= distance);
        }

1 użytkowników online, w tym zalogowanych: 0, gości: 1