SetAspectRatio

Z Delphi & Pascal (česká wiki)
Skočit na navigaci Skočit na vyhledávání

Změní implicitní nastavení korekčního činitele poměru stran.

Deklarace
function SetAspectRatio(Xasp, Yasp: Word): Word;
Režim
Reálný, Chráněný
Poznámky
SetAspectRatio se používá ke změnění implicitního poměru stran aktuálního grafického režimu. Tento poměr má zajistit, že nakreslený kruh má skutečně kruhový vzhled. Pokud vypadá jako elipsa, je nutné provést korekci buď hardwarovou (nastavení svislého rozměru na monitoru) nebo softwarově, procedurou SetAspectRatio. Aktuální poměr můžete zjistit voláním GetAspectRatio.
Omezení
Je nutno být v grafickém režimu.
Viz také
GetAspectRatio


Vzorový příklad

{Setasprt.PAS}
{Vzorový příklad pro proceduru SetAspectRatio.}
uses Crt, Graph;
const R = 50;
var
  Driver, Mode: Integer;
  Xasp, Yasp: Word;
begin
  DirectVideo := False;
  Driver := Detect;   { Přepnutí do grafického režimu }
  InitGraph(Driver, Mode, ' ');
  if GraphResult < 0 then
    Halt(1);
  GetAspectRatio(Xasp, Yasp);   { Zjištění implicitního poměru stran }
  if Xasp = Yasp then
  { Adjustace pro VGA a 8514. Mají poměr 1:1 }
    Yasp := 5 * Xasp;
  while (Xasp < Yasp) and not KeyPressed do
  { Pokračovat v modifikování až do poměru 1:1 nebo do stisku klávesy }
  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, 'Hotovo!');
  Readln;
  CloseGraph;
end.