Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отрисовка


cds ©   (2004-09-30 17:16:00) 

Дана начальная и конечная точка дуги, а также дан радиус.
(X1,Y1, X2,Y2, R) Требуется нарисовать эту дугу на форме. У класса TCanvas есть метод для рисования дуг, но параметры которые ему надо передавать сильно отличаются от заданных, вот выписка из справки:
procedure Arc(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer);
Метод Arc рисует дугу окружности или эллипса с помощью текущих параметров пера Pen. Точки (X1, Y1) и (X2, Y2) определяют прямоугольник, описывающий эллипс. Начальная точка дуги определяется пересечением эллипса с прямой, проходящей через его центр и точку (X3, Y3).  Конечная точка дуги определяется пересечением эллипса с прямой, проходящей через его центр и точку (X4, Y4). Дуга рисуется против часовой стрелки от начальной до конечной точки.

В Windows 95 суммы X1 + X2, Y1 + Y2 и X1 + X2 + Y1 + Y2 не должны превышать 32768.
В Windows NT направление рисования можно изменить на направление по часовой стрелке вызовом функции SetArcDirection.


Как из этого всего нарисовать дугу с моими параметрами не пойму... поделитесь соображениями...


MBo   (2004-09-30 17:49:00) [1]

Неправильно задал квадрат


CDs   (2004-09-30 17:39:00) [2]

Не получается, рисуется но не то.
Пишу Canvas.Arc(0,0,100,100,100,0,0,0);
Должна бы получиться дуга с радиусом 50 из точки (100,0) в точку (0,0) но на деле не выходит, дуга рисуется но не из этих точек


MBo   (2004-09-30 17:24:00) [3]

Найти центр, первые параметры - углы квадрата со стороной 2R, последние - твои точки.


Наверх

Титульная страница Поиск, карта сайта Написать письмо