Klasa za menjanje rezolucije (Delphi/Pascal)

Klasa za menjanje rezolucije (Delphi/Pascal)

offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Pre nekog vremena sam odlučio da razvijem jednu igru bez upotrebe 3rd party biblioteka, pa mi je zatrebala jednostavna klasa za menjanje rezolucije zbog fullscreen-a... za slučaj da još nekom treba tako nešto, slobodno može da je iskoristi.

Od operativnih sistema su podržani Windows (od 98 pa na više) i Linux (koristi se xf86vmode ekstenzija). Testirani kompajleri su Delphi 2007, FPC 2.2.4 i Lazarus 0.9.28, ali verovatno radi i na drugim verzijama.

U nastavku je jednostavan konzolni program koji koristi klasu da prikaže trenutno izabranu rezoluciju, da prikaže sve rezolucije koje su moguće na računaru, da promeni rezoluciju i da je posle vrati na normalnu.
program TestBed; {$I Jedi.inc} uses   GUVideoModes; var   VideoModes: TVideoModes;   VideoMode: TVideoMode;   I: Integer; begin   VideoModes := TVideoModes.Create;   WriteLn('Desktop video mode: ', VideoModes.GetDesktopVideoMode.Width,     'x', VideoModes.GetDesktopVideoMode.Height,     'x', VideoModes.GetDesktopVideoMode.BitsPerPixel,     '@', VideoModes.GetDesktopVideoMode.Frequency);   WriteLn('Available video modes:');   for I := 0 to VideoModes.GetVideoModeCount - 1 do   begin     VideoMode := VideoModes.GetVideoMode(I);     WriteLn('  ', VideoMode.Width,       'x', VideoMode.Height,       'x', VideoMode.BitsPerPixel,       '@', VideoMode.Frequency);   end;   VideoModes.ChangeVideoMode(VideoModes.GetBestModeIndex(1024, 768, 32));   ReadLn;   VideoModes.RestoreVideoMode;   VideoModes.Free;   WriteLn('Press enter to exit...');   ReadLn; end.

Klasa: https://www.mycity.rs/must-login.png



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
Ko je trenutno na forumu
 

Ukupno su 1058 korisnika na forumu :: 35 registrovanih, 5 sakrivenih i 1018 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Apok, Ben Roj, bigfoot, Bobrock1, Boris90, Denaya, Dorcolac, draganca, dushan, esx66, Frunze, goxin, ljuba, Lucije Kvint, Marko Marković, mercedesamg, Mercury, Metanoja, MiG-29M2, milutin134, mrav pesadinac, MrNo, pein, RJ, sasa87, Srle993, stalja, stegonosa, vathra, virked, Vlajman1957, voja64, vukovi, zixmix, zlaya011