Показать сообщение отдельно
  #5  
Старый 05.07.2014, 21:03
MotoArhangel MotoArhangel вне форума
Новичок
 
Регистрация: 14.10.2012
Сообщения: 58
Версия Delphi: Delphi 10.4
Репутация: 10
По умолчанию

Тогда оптом задам вопрос. Черчу ромб с помощью полигонов
Код:
  A[0].X := x;
  A[0].Y := y;
  A[1].X := x-d2;
  A[1].Y := y+d1;
  A[2].X := x;
  A[2].Y := y+d1*2;
  A[3].X := x+d2;
  A[3].Y := y+d1;
  Canv.Polygon(A);
Вообщем здесь понятно. И хотел текст разместить по центру, нарыл где то код:
Код:
  Canv.Rectangle(x1, y1,x2, y2);
  Canv.TextRect(Rect(X1, Y1, X2, Y2),X1+(X2-X1-Canv.TextWidth(s)) div 2,
    Y1+(Y2-Y1-Canv.TextHeight(s)) div 2, s);
Если элипсы, прямоугольники рисую код срабатывает. А с ромбом нет, пришлось текст вставлять так:
Код:
 Canv.TextOut(A[1].X +30, (A[0].Y+A[2].Y) div 2-10 , S);
Может я чего то не знаю? Для ромба подставлял значения массива.
Ответить с цитированием