Как изменить Rectanlge Left / Top / Right / Bottom - PullRequest
0 голосов
/ 29 сентября 2010

У меня есть два прямоугольника InnerRectangle и OuterRectangle.Я хочу проверить, находятся ли четыре угла InnerRectangle, т.е. Lett, Top, Right, Bottom, полностью внутри OuterRectangle.Если они снаружи, я хочу изменить те, что снаружи.Если я изменю Left / Top / Right / Bottom, насколько я должен изменить ширину или высоту?Пожалуйста, дайте мне знать, как это реализовать.

if (InnerRectangle.Left < OuterRectangle.Left)
{
    // what should I put here
}
if (InnerRectangle.Top < OuterRectangle.Top)
{
    // what should I put here
}
if (InnerRectangle.Right < OuterRectangle.Right)
{
    // what should I put here
}
if (InnerRectangle.Bottom < OuterRectangle.Bottom)
{
    // what should I put here
}

Благодарим вас за помощь.

1 Ответ

1 голос
/ 29 сентября 2010

Чтобы убедиться, что прямоугольник InnerRectangle полностью содержится внутри OuterRectangle:

if (OuterRectangle.Contains(InnerRectangle))
{
    // ...
}

Чтобы исправить InnerRectangle, чтобы он действительно находился внутри OuterRectangle:

InnerRectangle = InnerRectangle.Intersect(OuterRectangle);
...