Процедура SetGraphBufSize
Модуль Graph
Изменяет заданный по умолчанию размер графического буфера, используемого для
сканирования и заливки.
Объявление:
Procedure SetGraphBufSize(BufSize : Word);
Режим:
Замечания:
Размер внутреннего буфера устанавливается на BufSize, и буфер распределяется
в куче при обращении к InitGraph.
Пример:
Uses Graph, Crt;
Const Min = 0;
Max = 1256;
Var Gd, Gm : Integer;
I, R : Integer;
X0, Y0 : Integer;
BigPoly : Array [Min..Max] Of PointType;
Begin
Randomize;
{ Распределяем 8Кб буфер в куче, чтобы закрасить
полигон с 1256-ю вершинами }
SetGraphBufSize(8*1024);
Gd:=Detect;
InitGraph(Gd, Gm, 'C:\BP\BGI');
If GraphResult<>grOk Then Halt(1);
X0:=GetMaxX;
Y0:=GetMaxY;
R:=Y0 Div 2;
{ Определяем в массиве координаты точек для
построения полигона в виде окружности
с 1256-ю вершинами и радиусом R }
For I:=Min To Max Do
With BigPoly[I] Do
Begin
X:=X0 Div 2 + Round(R * Sin(I/200));
Y:=Y0 Div 2 + Round(R * Cos(I/200));
End;
{ Закрашиваем полигон }
FillPoly(SizeOf(BigPoly) Div SizeOf(PointType), BigPoly);
{ Ждем нажатия на клавишу }
Repeat
Until KeyPressed;
End.