В модуле GRAPH предусмотрен ряд дополнительных процедур, позволяющих сохранять и восстанавливать отдельные фрагменты изображения на экране. Для манипулирования фрагментом следует узнать его размер. Это делается с использованием функции
ImageSize(x1, у1, х2, у2: integer): word,
где х1, у1 и х2, у2 - координаты верхнего левого и правого нижнего угла прямоугольной области экрана. Функция возвращает размер указанного фрагмента в байтах. Образ фрагмента удобно хранить в динамической области памяти, то есть результат работы ImagSize может являться входной информацией для процедуры GetMem, которая выделяет указанный объем в верхней области памяти. Сохранение образа фрагмента в памяти выполняется процедурой
GetImage(x1, у1, х2, у2: integer; Var BitMap),
где х7, у1, х2, у2 - координаты фрагмента, BitMap - нетипизированный параметр, который должен быть не менее размера памяти, отведенного для области экрана, плюс 6. Возвратить образ фрагмента из памяти на экран можно с помощью процедуры
PutImage(X, Y: integer; Var BitMap; Mode: word),
i где X, Y - координаты точки экрана, начиная с которой будет выводится фрагмент, BitMap - уже известный нетипизированный параметр, задающий ширину и высоту фрагмента.
391
391 :: Содержание