Процедура 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

См. также: