Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2014, 01:07   #1
Lorem96
 
Регистрация: 05.12.2014
Сообщений: 3
По умолчанию Рисунок Delphi

Здравствуйте. Помогите нарисовать рисунок на канве в дельфи.Как я понял ширину квадрата задаём в ручную.
Изображения
Тип файла: jpg IMG_20141010_131919 (2).jpg (16.1 Кб, 126 просмотров)
Lorem96 вне форума Ответить с цитированием
Старый 05.12.2014, 01:12   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

MoveTo, LineTo, больше ничего не надо.
Arigato вне форума Ответить с цитированием
Старый 05.12.2014, 08:41   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
MoveTo, LineTo, больше ничего не надо.
ну и ещё знание геометрии и математики для подсчёта нужных координат на уровне (примерно) 8 класса современной (11-летней) средней школы.


Lorem96, реально, в чём у Вас сложности то?
Как линию на канве нарисовать в нужных точках? Или что?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.12.2014, 09:24   #4
Lorem96
 
Регистрация: 05.12.2014
Сообщений: 3
По умолчанию

Сложность в том что я не пойму как вычислять углы для линий.
Lorem96 вне форума Ответить с цитированием
Старый 05.12.2014, 09:34   #5
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от Lorem96 Посмотреть сообщение
Сложность в том что я не пойму как вычислять углы для линий.
Все углы 45 - какие сложности?
Iron Monk вне форума Ответить с цитированием
Старый 05.12.2014, 11:20   #6
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Код:
procedure _pPaint(a: integer);
var
x0, y0,
a1x, a1y, a2x, a2y, a3x, a3y, a4x, a4y,
b1x, b1y, b2x, b2y,
c0x, c0y, c1x, c1y, c2x, c2y,
d1x, d1y, d2x, d2y,
e0x, e0y, e1x, e1y, e2x, e2y,
tline1, tline2: integer;
begin
   x0:= Image1.ClientHeight div 2;
   y0:= Image1.ClientWidth  div 2;
   Image1.Canvas.FillRect(Rect(0,0,Image1.ClientHeight,Image1.ClientWidth));
   tline1:= (a div 2);
   tline2:= (a + a);

   a1x:= x0 - tline1;
   a1y:= y0 + tline1;
   a2x:= a1x;               
   a2y:= a1y - a;
   a3x:= a2x + a;
   a3y:= a2y;
   a4x:= a1x + a;
   a4y:= a1y;

   b1x:= a1x - tline2;
   b1y:= a1y - tline2;
   b2x:= a2x - tline2;
   b2y:= a2y + tline2;

   c0x:= a2x + tline1;
   c0y:= a2y - tline1;
   c1x:= a2x + tline2;
   c1y:= a2y - tline2;
   c2x:= a3x - tline2;
   c2y:= a3y - tline2;

   d1x:= a3x + tline2;
   d1y:= a3y + tline2;
   d2x:= a4x + tline2;
   d2y:= a4y - tline2;

   e0x:= a1x + tline1;
   e0y:= a1y + tline1;
   e1x:= a4x - tline2;
   e1y:= a4y + tline2;
   e2x:= a1x + tline2;
   e2y:= a1y + tline2;

   Image1.Canvas.MoveTo(b1x, b1y);
   Image1.Canvas.LineTo(a1x, a1y);
   Image1.Canvas.LineTo(a2x, a2y);
   Image1.Canvas.LineTo(b2x, b2y);

   Image1.Canvas.MoveTo(c1x, c1y);
   Image1.Canvas.LineTo(c0x, c0y);
   Image1.Canvas.LineTo(c2x, c2y);

   Image1.Canvas.MoveTo(d1x, d1y);
   Image1.Canvas.LineTo(a3x, a3y);
   Image1.Canvas.LineTo(a4x, a4y);
   Image1.Canvas.LineTo(d2x, d2y);

   Image1.Canvas.MoveTo(e1x, e1y);
   Image1.Canvas.LineTo(e0x, e0y);
   Image1.Canvas.LineTo(e2x, e2y);
end;

Последний раз редактировалось Iron Monk; 05.12.2014 в 11:23.
Iron Monk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
с чего начать решение? Считать из файла название объемных геометрических фигур,вывести название,количество граней,рисунок (Delphi) леночка93 Помощь студентам 6 16.05.2013 13:14
рисунок в delphi Рафаиил Помощь студентам 1 02.05.2013 19:55
На координатной плоскости отметить и пронумеровать точки, а потом их соединить, чтобы получился рисунок (Delphi) Лилия2012 Помощь студентам 0 22.11.2012 21:47
delphi Рисунок на панели Фиалка001 Помощь студентам 0 16.10.2011 15:55
DELPHI рисунок Slavik Помощь студентам 5 09.03.2009 00:21