kursatdemir58 Ответов: 2

C# нарисуйте прямоугольник с отрицательной высотой


Привет, я уже несколько часов гуглю. Пожалуйста, помогите мне! У меня возникли проблемы с рисованием прямоугольника в реальном времени, скажем, в 1-ю секунду я хочу нарисовать y1 до положительной высоты, во 2-ю секунду y1 до отрицательной высоты. Но DrawRectangle не исключает отрицательных значений и не рисует. Я показываю в drtail на картинке, пожалуйста, помогите!

Что я уже пробовал:

Я пробовал давать отрицательные значения DrawRectangle но не работал

[no name]

Вероятно, в основном потому, что прямоугольники не могут иметь отрицательной высоты. Что бы вы ни делали, это не имеет никакого смысла.

[no name]

В реальном времени? Рисование прямоугольника всегда происходит в реальном времени. Если вы не предоставите свой код и не объясните лучше, никто не сможет помочь.

2 Ответов

Рейтинг:
1

Dave Kreskowiak

Казалось бы, довольно очевидно просто проверить, чтобы убедиться, что высота больше 0, прежде чем рисовать прямоугольник.


kursatdemir58

Моя цель-приблизиться к противоположному участку.

Dave Kreskowiak

И что именно вы подразумеваете под "приближением к противоположному участку (стороне?)"?

Если вы хотите, чтобы чертеж действительно работал с отрицательными числами, вам придется написать свой собственный код чертежа, чтобы перевести эти отрицательные числа во что-то значимое в декартовой системе координат.

Рейтинг:
1

Member 13482508

Я сделал эту функцию для сортировки прямоугольника так, чтобы он рисовал.

частный прямоугольник SortedRect(точка P, размер S)
{
if (S. Width < 0)
{
С. Ширина = С. Ширина;
P. X = P. X - S. Ширина;
}
if (S. Height < 0)
{
С. Высота = -Высоту С.;
P. Y = P. Y - S. Высота;
}
возврат нового прямоугольника(P, S);
}