Процедура GetImage

Модуль GRAPH

Сохраняет участок изображения в буфер.

Объявление:

Procedure GetImage(X1, Y1, X2, Y2 : Integer; Var BitMap);

Режим:

Real, Protected

Замечание:

Параметры X1, Y1, X2 и Y2 определяют прямоугольную область на экране. BitMap - нетипизированный параметр, который должен быть больше или равен 6 плюс количество памяти, занимамой изображением в данной области. Первые два слова в BitMap содержат ширину и высоту области. Третье слово зарезервировано.

Оставшаяся часть памяти в BitMap используется для хранения двоичного образа данного участка изображения. Используйте функцию ImageSize, чтобы определить необходимый размер параметра BitMap.

Ограничения:

Нужно быть в графическом режиме. Количество памяти, необходимое для хранения битового образа участка изображения, не должно превышать 64Кб.

Пример:

{ Пример программы для процедуры GetImage }

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.