По просьбе пользователя
Igor добавил ещё одну функцию:
image Transform(im:
image; x1:
integer; y1:
integer; x2:
integer; y2:
integer; x3:
integer; y3:
integer; x4:
integer; y4:
integer)
Вписывание текстуры im в произвольный четырехугольник.
Порядок описи углов прямоугольника:
x1, y1 - правый нижний угол
x2, y2 - левый нижний угол
x3, y3 - левый верхний угол
x4, y4 - правый верхний угол
Пример:
Program gfx_test;
Uses gfx;
Var size: integer;
im: Image;
Begin
size:=30;
im:=transform(LoadImage('/dollar.png'), 6 * size, 4 * size, 1 * size, 2 * size, 4 * size, 1 * size, 7 * size, 2 * size);
DrawImage(im, 5, 5);
DrawImage(im, 10, 10);
DrawImage(im, 15, 15);
Repaint;
Delay(10000);
End.
Более ускоренный алгоритм для игр типа DOOM пока в процессе.