Язык:
Русский
English
SetAspectRatio (функция) (модуль Graph)
Изменяет заданный по умолчанию коэффициент сжатия.
Объявление
Procedure SetAspectRatio(Xasp, Yasp : Word);
Режим
Real, Protected
Замечания
SetAspectRatio используется для изменения заданного по умолчанию коэффициента сжатия текущего графического режима. Коэффициент сжатия используется для рисования окружностей. Если окружности рисуются в виде эллипсов, это значит, что монитор неправильно выравнен. Это можно исправить аппаратно, перенастраивая монитор или программно, изменяя коэффициент сжатия, с использованием функции SetAspectRatio. Чтоб определить текущий коэффициент сжатия графической системы, используйте GetAspectRatio.
Ограничения
Нужно быть в графическом режиме.
Смотри также
Пример
Язык:
Русский
English
{ Пример программы для процедуры SetAspectRatio }
const R = 50;
var
Driver, Mode : Integer;
Xasp, Yasp : Word;
begin
{ Инициализируем графику }
DirectVideo := False;
Driver := Detect;
InitGraph(Driver, Mode, 'X:\BP');
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.