Метод на базовата точка

Сайт на Delphi: ежедневни Delphi-новини, документация, статии, преглед, интервю, компютърен хумор.

При програмиране на сложни изображения, състоящи се от много елементи, се използва метод, който се нарича метод на базовата точка. Същността на този метод е следната:

Избрана е точка от изображението, която е взета за основа.

Координатите на останалите точки се измерват от базовата точка.

Ако координатите на точките на изображението се броят от базовата в относителни единици, а не в пиксели, тогава изображението може да бъде мащабирано.

На фиг. 10.17 показва изображение на лодка. Базовата точка е точката с координати (x0, y0). От тази точка се измерват координатите на останалите точки.

LineTo

Листинг 10.9 показва програма, която показва изображение на движеща се лодка на екрана.

Списък 10.9. лодка

процедура TimerlTimer(Подател: TObject); процедура FormActivate(Подател: TObject); частен < Частни декларации >публични

x,y: цяло число; // координати на изпълнение на кораба (базова точка).

procedure Titanik(x,y: integer; // базова точка координати цвят: TColor); // цвят на кораба

LineTo(x,y-2*dy); LineTo(x+10*dx,y-2*dy); LineTo(x+ll*dx,y-3*dy); LineTo(x+17*dx,y-3*dy); LineTo(x+14*dx,y); LineTo(x,y); // добавка MoveTo(x+3*dx,y-2*dy); LineTo(x+4*dx,y-3*dy); LineTo(x+4*dx,y-4*dy); LineTo(x+13*dx,y^4*dy); LineTo(x+13*dx,y-3*dy); MoveTo(x+5*dx,y-3*dy); LineTo(x+9*dx,y-3*dy); // капитански мостик

// обработва сигнала на таймера

процедура TForml.TimerlTimer(Подател: TObject); започнете Titanik(x,y,forml.color); // изтриване на чертеж, ако x

Титаник(x,y,clWhite); // рисуване в нова точка

Таймер.Интервал:= 50; // сигнал на таймера на всеки 50 милисекунди

Изчертаването и изтриването на изображението на кораба се извършва чрез процедурата Titanik, която получава като параметри координатите на базовата точка и цвета, с който трябва да бъде начертано изображението на кораба. Ако при извикване на процедурата цветът се различава от цвета на фона на формата, тогава процедурата рисува лодка и ако съвпада, тогава тя "изтрива". В процедурата Titanik се декларират константите dx и dy, които определят стъпката (в пиксели), използвана при изчисляване на координатите на точките на изображението. Чрез промяна на стойностите на тези константи изображението може да бъде мащабирано.