c #: Пожалуйста, объясните координаты FillRectangle ()?

#c# #graphics

#c# #графика

Вопрос:

Не могли бы вы, пожалуйста, объяснить координаты на FillRectangle() ? Я так понимаю, что x,y это верхний левый угол прямоугольника? Но в этом случае: маленькая картинка 1

Я понимаю x . Но y is = 627 это даже > больше высоты главного окна ( 137 ). Тем не менее, каким-то образом это работает так, как должно: маленькая картинка 2 (здесь мы говорим о красном прямоугольнике).

Я просто совершенно не понимаю эту y координату.

Спасибо.

Комментарии:

1. MSDN вам не помог? msdn.microsoft.com/en-us/library/c6ksfcek.aspx

2. «Не понимаю координату Y» — Я не уверен, в чем ваша реальная проблема здесь — вы говорите о математике здесь или о конкретной проблеме?

3. Координата y этого маленького красного прямоугольника равна 627, а высота области рисования серым цветом равна 137. Вот чего я не понимаю. Насколько я понимаю, координата y должна быть около ~ 15?

4. Похоже на ошибку в коде. Пожалуйста, поделитесь дополнительным кодом. Нужно проверить, откуда берется этот graphics объект.

Ответ №1:

Высота серого прямоугольника составляет всего 137 пикселей, но его положение в родительской форме или контейнере на 510 пикселей ниже.

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

Комментарии:

1. Отлично! Для меня это, похоже, именно «проблема». Большое вам спасибо!