Kezzya
@Kezzya

Есть ли аналог MoveTo для Ellipse — Canvas Delphi?

Надо чтобы эллипс смещался на некоторый Х и У, но он строится всегда "вокруг описывающего его прямоугольника". Можно ли как-то сместить эллипс?
Вот у линий всё просто, Canvas.MoveTo и они смещаются.
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
HemulGM
@HemulGM Куратор тега Delphi
Delphi Developer, сис. админ
MoveTo ничего не смещает. Этот метод устанавливает точку, с которой будет начато рисование линии. И используется именно для рисования линии. MoveTo, LineTo.
Для рисования эллипса нужно указывать координаты прямоугольника. А это не только ширина и высота. Это ещё и положение.
procedure Ellipse(X1, Y1, X2, Y2: Integer); overload; virtual; abstract;
procedure Ellipse(const Rect: TRect); overload;

X1, Y2 - это координаты слева и сверху
X2, Y2 - это координаты справа и снизу

Rect - аналогично, но одной переменной.
Rect.Left, Rect.Top, Rect.Right, Rect.Bottom

Если тебе этого не достаточно, чтобы понять, то вот пример:
Canvas.Ellipse(10, 20, 10 + 40, 20 + 40);
Эллипс будет нарисован по координатам 10;20 размерами 40 на 40
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы