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

Графика   Найти похожие ветки 

 
Shnabs   (2005-03-02 01:07) [0]

Маленький вопросик можно? :) Как создать движение линии от одной то чки к другой? Например известно X1,Y1, X2,Y2. Рисуем: canvas.moveto(x1,y1), canvas.lineto(x2,y). Он сразу нарисует линию. А мне нужно чтобы линия начала свое движение из точки X1,Y1, и закончило в точки X2,Y2. Проблем нет, если рисовать только горизонтально, вертикально или по диагонали. Тут просто наращиваещь X или Y, или сразу вместе, если по диоганали. А вот когда нет соотношения, то тут туганчик. Может где-нибудь, есть что-нибудь подобное, буду благодарен если поможете. Спасибо.


 
PKT   (2005-03-02 02:03) [1]

Вообще-то школьный курс...
 k := (Y2 - Y1) / (X2 - X1);
 A := Y1 - k * X1;
 Inc(X);
 Y := Round(k * X + A);


 
ЮЮ ©   (2005-03-02 05:01) [2]

>А вот когда нет соотношения, то тут туганчик

Рисовать надо по принципу:
 нарисовал (X1, y1) - (x2, y2)
 цикл
   нашел новые (x1new, y1new), (x2new, y2new)
   "затер" старую линию (x1, y1) - (x2, y2)    
   присвоил новые координаты
   нарисовал новую (x1, y1) - (x2, y2)
 конец цикла

Для этого, Canvas.Pen.Mode = pmXor, кажется.



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

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



Память: 0.45 MB
Время: 0.022 c
14-1108634829
uny
2005-02-17 13:07
2005.03.13
win98 долго входит в сеть при dialup, причём она сразу в сети


14-1108885880
AlterEgo of WondeRu
2005-02-20 10:51
2005.03.13
что выбрать для написания виртуального драйвера?


1-1109355759
Mameluke
2005-02-25 21:22
2005.03.13
Регистрация собственного типа файлов


1-1109325312
denis24
2005-02-25 12:55
2005.03.13
Неявное обращение к Stringlist


3-1108321705
mefisto
2005-02-13 22:08
2005.03.13
Правильная инсталяция Oracle 8i




   Наверх