Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.13;
Скачать: 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 вся ветка

Текущий архив: 2005.03.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
1-1109666619
paule
2005-03-01 11:43
2005.03.13
Маска в Edit


1-1109580737
Ньюб
2005-02-28 11:52
2005.03.13
Как зарегистрировать программный продукт


1-1109690443
Nicotin
2005-03-01 18:20
2005.03.13
Как перехватить нажатие кнопки?


1-1109375074
oleg_SYS
2005-02-26 02:44
2005.03.13
Глобальная обработка ошибок приложения


3-1108449573
Гость
2005-02-15 09:39
2005.03.13
Как перейти на 500-ю запись таблицы?