IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Кривая Безье
Глюк
сообщение 3.05.2007 18:20
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 34
Пол: Мужской

Репутация: -  0  +


Здавствуйте,
Подскажите,пожалуйста, алгоритм построения Кривой Безье на Delphi ... smile.gif

Сообщение отредактировано: Глюк - 3.05.2007 18:23
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 13.05.2007 17:37
Сообщение #2


Гость






Ты считаешь, что глобальные координаты курсора мыши и оконные координаты, в которых должна появиться точка - это одно и то же, а на самом деле это далеко не так... Я не просто так в четвертом посте сделал обработку события OnMouseDown... Смотри:

var
Form1: TForm1;

_x : array [0..49] of integer; // Переименовываешь здесь и везде, где имеются в виду массивы
_y : array [0..49] of integer;


и переносишь обработку нажатия из OnClick в OnMouseDown:
procedure TForm1.PaintBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); // Здесь - именно оконные координаты клика мыши
var i, j: integer;
begin
i := strtoint(edit1.Text);
_x[i]:=X;
_y[i]:=Y;

paintbox1.Canvas.Pen.Color:=clblue;
paintbox1.Canvas.Pen.Width:=5;
paintbox1.Canvas.moveto(x,y);
paintbox1.Canvas.LineTo(x,y);
paintbox1.Canvas.TextOut(X-2,Y-2,'P'+inttostr(i));
i:=i+1;

edit1.text:=inttostr(i);
with paintbox1.Canvas do begin
pen.Color:=clgreen;
pen.Width:=1;
for j:= 0 to i-2 do begin
moveto(_x[j],_y[j]);
lineto(_x[j+1],_y[j+1]);
end;
end;
end;
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Глюк   Кривая Безье   3.05.2007 18:20
volvo   Алгоритм? Рекурсивное деление пополам ... Если ты ...   3.05.2007 18:33
Глюк   Алгоритм? Рекурсивное деление пополам ... Если ты...   3.05.2007 18:56
volvo   Смотри... На форму брось TImage и TButton, в класс...   3.05.2007 20:13
Глюк   Спасиб,но...Я сделал так,но у меня на TImage точки...   4.05.2007 17:42
volvo   Ты вручную прописывал Image1MouseDown? Так нельзя....   4.05.2007 17:54
Глюк   Спасибо большое.Теперь рисует :) Я хотел узнать:...   4.05.2007 18:23
volvo   Задавать ты можешь хоть 50, только вот использоват...   4.05.2007 18:27
Глюк   Значит все надо начинать сначала... :unsure: Подс...   4.05.2007 18:52
volvo   Почитай вот это (теория про кривые Безье): http://...   4.05.2007 19:08
Глюк   Ок.Спасибо. Прога практически готова,тока надо нем...   6.05.2007 21:24
Глюк   Снова я за помощью.Я сделал программку,рисует прав...   13.05.2007 16:36
volvo   Ты считаешь, что глобальные координаты курсора мыш...   13.05.2007 17:37
Глюк   Спасибо!Я про это и не подумал...   14.05.2007 8:31


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 14.07.2025 19:47
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"