![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отрисовка
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, последние - твои точки.