Метод на базовата точка
Сайт на Delphi: ежедневни Delphi-новини, документация, статии, преглед, интервю, компютърен хумор.
При програмиране на сложни изображения, състоящи се от много елементи, се използва метод, който се нарича метод на базовата точка. Същността на този метод е следната:
Избрана е точка от изображението, която е взета за основа.
Координатите на останалите точки се измерват от базовата точка.
Ако координатите на точките на изображението се броят от базовата в относителни единици, а не в пиксели, тогава изображението може да бъде мащабирано.
На фиг. 10.17 показва изображение на лодка. Базовата точка е точката с координати (x0, y0). От тази точка се измерват координатите на останалите точки.

Листинг 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, които определят стъпката (в пиксели), използвана при изчисляване на координатите на точките на изображението. Чрез промяна на стойностите на тези константи изображението може да бъде мащабирано.