Вниз
Скачать: CL | DM;

Отрисовка   Найти похожие ветки 

 
cds ©   (2004-09-30 17:16) [0]

Дана начальная и конечная точка дуги, а также дан радиус.
(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:24) [1]

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


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

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


 
MBo ©   (2004-09-30 17:49) [3]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.029 c
3-1095664500
TahirProc
2004-09-20 11:15
2004.10.17
Ошибка при закрытии программы


1-1096550211
cds
2004-09-30 17:16
2004.10.17
Отрисовка


1-1096553547
ser_ega
2004-09-30 18:12
2004.10.17
FileSizeByName


4-1094897871
Master Kolyan
2004-09-11 14:17
2004.10.17
Работа с кластерами ЖД посредством процедур и функций Delphi


1-1096713393
Comp
2004-10-02 14:36
2004.10.17
LongInt




   Наверх