ВУЗ:
Составители:
Рубрика:
48
48
{Просмотр страниц}
Readln; SetVisualPage(1); Readln;
SetVisualPage(0); Readln;
CloseGraph;
End.
2.2.12 Сохранение и выдача изображений.
Создание движущихся изображений
Для того, чтобы заставить изображения перемещаться по экрану,
необходимо:
1. Определить размер памяти для хранения этого изображения c помощью
функции ImageSize(X1, Y1, X2, Y2), возвращающей результат типа Word. X1,
Y1, X2, Y2 - координаты верхнего левого и нижнего правого углов
прямоугольника, охватывающего это изображение. Например: Size:=
ImageSize(x1,y1,x2,y2);
2. Определить
адрес участка динамической памяти, где будет сохранено
это прямоугольное изображение размером Size, с помощью процедуры
GetMem(P,Size). P - переменная типа Pointer, содержащая определенный адрес.
3. Сохранить копию этого фрагмента в динамической памяти с помощью
процедуры GetImage(X1, Y1, X2, Y2, P^).
4. Вывести сохраненное изображение на экран в заданном месте с
помощью процедуры PutImage(Х, Y, P^, M). X, Y - координаты левого
верхнего
угла того места на экране, в которое необходимо поместить копию
изображения. Копия изображения должна полностью помещаться на экране,
иначе она не будет выведена и экран останется без изменений. М - способ
копирования, определяющий способ взаимодействия вновь размещаемой копии с
уже имеющимся на экране изображением. Переменная М может принимать
значения следующих констант:
Const
NormalPut = 0; {Замена существующего изображения на копию}
XorPut = 1; {Исключающее ИЛИ}
OrPut = 2; {Объединительное ИЛИ}
AndPut = 3; {Логическое И}
NotPut = 4; {Инверсия изображения}
Чаще всего для создания движущихся изображений на экране используют
значения M, равные 0, 1 и 4.
Следующая программа демонстрирует пример создания движущихся
изображений.
Uses crt,graph;
Var Size,i:word; p:pointer;
procedure init_graph;
var grDriver: Integer; grMode: Integer; ErrCode:Integer;
begin
grDriver := Detect;
48 {Просмотр страниц} Readln; SetVisualPage(1); Readln; SetVisualPage(0); Readln; CloseGraph; End. 2.2.12 Сохранение и выдача изображений. Создание движущихся изображений Для того, чтобы заставить изображения перемещаться по экрану, необходимо: 1. Определить размер памяти для хранения этого изображения c помощью функции ImageSize(X1, Y1, X2, Y2), возвращающей результат типа Word. X1, Y1, X2, Y2 - координаты верхнего левого и нижнего правого углов прямоугольника, охватывающего это изображение. Например: Size:= ImageSize(x1,y1,x2,y2); 2. Определить адрес участка динамической памяти, где будет сохранено это прямоугольное изображение размером Size, с помощью процедуры GetMem(P,Size). P - переменная типа Pointer, содержащая определенный адрес. 3. Сохранить копию этого фрагмента в динамической памяти с помощью процедуры GetImage(X1, Y1, X2, Y2, P^). 4. Вывести сохраненное изображение на экран в заданном месте с помощью процедуры PutImage(Х, Y, P^, M). X, Y - координаты левого верхнего угла того места на экране, в которое необходимо поместить копию изображения. Копия изображения должна полностью помещаться на экране, иначе она не будет выведена и экран останется без изменений. М - способ копирования, определяющий способ взаимодействия вновь размещаемой копии с уже имеющимся на экране изображением. Переменная М может принимать значения следующих констант: Const NormalPut = 0; {Замена существующего изображения на копию} XorPut = 1; {Исключающее ИЛИ} OrPut = 2; {Объединительное ИЛИ} AndPut = 3; {Логическое И} NotPut = 4; {Инверсия изображения} Чаще всего для создания движущихся изображений на экране используют значения M, равные 0, 1 и 4. Следующая программа демонстрирует пример создания движущихся изображений. Uses crt,graph; Var Size,i:word; p:pointer; procedure init_graph; var grDriver: Integer; grMode: Integer; ErrCode:Integer; begin grDriver := Detect; 48
Страницы
- « первая
- ‹ предыдущая
- …
- 46
- 47
- 48
- 49
- 50
- …
- следующая ›
- последняя »