Различные графические режимы

Стандартный драйвер egavga.bgi позволяет работать только с 16-ю цветами.

С помощью этого модуля вы сможете выводить графику с 256 цветами в режимах

Внимание: SVGA режим может не работать на некоторых мониторах!

Для этих графических режимов надо подключить модуль SVGA_ в разделе Uses и использовать SetVideoMode вместо InitGraph.

Unit SVGA_;
 
Interface
Uses Graph;
 
const
     { 256 colors }
     v320x200   : byte = 0;
     v640x480   : byte = 2;
     v800x600   : byte = 3;
     v1024x768  : byte = 4;
     v1280x1024 : byte = 5;
 
Procedure SetVideoMode(Mode: byte);
 
Implementation
 
procedure SVGA_DRV; external; { подключаем внешний объектный файл с драйвером SVGA }
{$L svgadrv.obj}
 
Procedure SetVideoMode;
Var Gd,Gm: integer;
Begin
     Gd:= InstallUserDriver('SVGA256',nil);
     if Gd= grError { Table full? } then
     begin
          writeln('Error of installing driver.');
          Halt(1);
     end;
     if RegisterBGIdriver(@SVGA_DRV) < 0 then
     begin
          Writeln(GraphErrorMsg(GraphResult));
          halt(2);
     end;
     Gm:=Mode;
     InitGraph(Gd,Gm,'');
End;
 
END.

Пример

uses Graph,SVGA_;
 
var MX,MY: integer;
 
function I2S(i: integer): string;
var s: string[6];
begin
     str(i,s);
     i2s:=s
end;
 
BEGIN
     writeln('Press Enter.');
     readln;
     SetVideoMode(v800x600);
     SetColor(GetMaxColor div 3);
     MX:=GetMaxX;
     MY:=GetMaxY;
     line(0,0,MX,MY);
     OutTextXY(MX div 3,MY div 2,i2s(MX)+','+i2s(MY));
     readln;
     CloseGraph;
END.

Скачать svga_tst.zip