Процедура SetAspectRatio

Модуль GRAPH

Изменяет заданный по умолчанию коэффициент сжатия.

Объявление:

Procedure SetAspectRatio(Xasp, Yasp : Word);

Режим:

Protected,  Real

Замечание:

SetAspectRatio используется для изменения заданного по умолчанию коэффициента сжатия текущего графического режима. Коэффициент сжатия используется для рисования окружностей. Если окружности рисуются в виде эллипсов, это значит, что монитор неправильно выравнен. Это можно исправить аппаратно, перенастраивая монитор или программно, изменяя коэффициент сжатия, с использованием функции SetAspectRatio. Чтоб определить текущий коэффициент сжатия графической системы, используйте GetAspectRatio.

Нужно быть в графическом режиме.

Пример:

{ Пример программы для процедуры SetAspectRatio }
 
 Uses Crt, Graph;
 
 Const R = 50;
 
 Var Driver, Mode : Integer;
       Xasp, Yasp : Word;
 
 Begin
  { Инициализируем графику }
  DirectVideo:=False;
  Driver:=Detect;
  InitGraph(Driver, Mode, '');
  If GraphResult < 0 Then Halt(1);
  { Получаем коэффициент сжатия }
  GetAspectRatio(Xasp, Yasp);
  { Пересчитываем для адаптеров VGA и IBM8514.
    Коэффициент сжатия для них равен 1:1 }
 If Xasp = Yasp Then Yasp := 5*Xasp;
 { Изменяем коээффициент сжатия до 1:1 или до нажатия клавиши }
 While (Xasp < Yasp) And Not KeyPressed Do
  Begin
   SetAspectRatio(Xasp, Yasp);
   Circle(GetMaxX div 2, GetMaxY div 2, R);
   Inc(Xasp, 20);
  End;
 SetTextJustify(CenterText, CenterText);
 OutTextXY(GetMaxX Div 2, GetMaxY Div 2, 'Done!');
 ReadLn;
 CloseGraph;
End.