Вниз
Скачать: 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.021 c
8-1101572644
VasRog
2004-11-27 19:24
2005.03.13
EmageEn/EmageEnView


1-1109670855
ser35
2005-03-01 12:54
2005.03.13
И опять отсчет...


1-1109695572
Shnabs
2005-03-01 19:46
2005.03.13
Курсор


1-1109687582
Cosinus
2005-03-01 17:33
2005.03.13
Как в ScrollBar запретить моргание ползунка?


9-1102090055
Вась-Вась
2004-12-03 19:07
2005.03.13
Коммерческие проекты!




   Наверх