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

> ВНИМАНИЕ!

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

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Кривая Безье
сообщение
Сообщение #1


Новичок
*

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

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


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

Сообщение отредактировано: Глюк -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #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 22:20
volvo   Алгоритм? Рекурсивное деление пополам ... Если ты …   3.05.2007 22:33
Глюк   Алгоритм? Рекурсивное деление пополам ... Если ты…   3.05.2007 22:56
volvo   Смотри... На форму брось TImage и TButton, в класс…   4.05.2007 0:13
Глюк   Спасиб,но...Я сделал так,но у меня на TImage точки…   4.05.2007 21:42
volvo   Ты вручную прописывал Image1MouseDown? Так нельзя.…   4.05.2007 21:54
Глюк   Спасибо большое.Теперь рисует :) Я хотел узнать:…   4.05.2007 22:23
volvo   Задавать ты можешь хоть 50, только вот использоват…   4.05.2007 22:27
Глюк   Значит все надо начинать сначала... :unsure: Подс…   4.05.2007 22:52
volvo   Почитай вот это (теория про кривые Безье): http://…   4.05.2007 23:08
Глюк   Ок.Спасибо. Прога практически готова,тока надо нем…   7.05.2007 1:24
Глюк   Снова я за помощью.Я сделал программку,рисует прав…   13.05.2007 20:36
volvo   Ты считаешь, что глобальные координаты курсора мыш…   13.05.2007 21:37
Глюк   Спасибо!Я про это и не подумал...   14.05.2007 12:31


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

 





- Текстовая версия 17.06.2024 5:15
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name