Процедура GetImage
Модуль Graph
Сохраняет участок изображения в буфер.
Объявление:
Procedure GetImage(X1, Y1, X2, Y2 : Integer; Var BitMap);
Режим:
Замечания:
Параметры X1, Y1, X2 и Y2 определяют прямоугольную область на экране. BitMap
- нетипизированный параметр, который должен быть больше или равен 6 плюс
количество памяти, занимамой изображением в данной области. Первые два слова
в BitMap содержат ширину и высоту области. Третье слово зарезервировано.
Оставшаяся часть памяти в BitMap используется для хранения двоичного образа
данного участка изображения. Используйте функцию ImageSize, чтобы определить
необходимый размер параметра BitMap.
Ограничения:
Нужно быть в графическом режиме. Количество памяти, необходимое для хранения
битового образа участка изображения, не должно превышать 64Кб.
Пример:
Uses Graph;
Var Gd, Gm : Integer;
P : Pointer;
Size : Word;
Begin
Gd:=Detect;
InitGraph(Gd, Gm, '');
If GraphResult <> grOk Then Halt(1);
SetFillStyle(XHatchFill, Cyan);
Bar(0, 0, GetMaxX, GetMaxY);
Size := ImageSize(10, 20, 30, 40);
GetMem(P, Size); { Распределяем память в куче }
GetImage(10, 20, 30, 40, P^);
ReadLn;
ClearDevice;
PutImage(100, 100, P^, NormalPut);
ReadLn;
CloseGraph;
End.
Пример программы: getimage.pas
См. также: