Otevřít hlavní menu

SetAspectRatio

Verze z 4. 10. 2012, 16:34, kterou vytvořil Zdeno Sekerák (diskuse | příspěvky) (Created page with "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 ...")
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)

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.