Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   "Software-hellerer" Bildschirm (https://www.delphipraxis.net/93394-software-hellerer-bildschirm.html)

xZise 5. Jun 2007 09:24


"Software-hellerer" Bildschirm
 
Hi!
Manche Spiele (z.B. Swat4X-Editor, Emergency 4) hellen den Bildschirm irgendwie auf. Und manchmal, wenn das Programm abstürzt bleibt das auch.
Meine Frage wäre nun, wie man das wieder rückgänig machen kann :)

MfG
xZise

PS: Wegen Screenshot: 1. Bin ich in der Schule und 2. weiß ich nicht, ob man es sehen würde... Also würde nur ein Foto funzen xD

SirThornberry 5. Jun 2007 09:27

Re: "Software-hellerer" Bildschirm
 
das sind teilweise Grafikkarten einstellungen welche Per DirektX etc. gemacht werden. Am einfachsten sollte es sein das Spiel nochmals zu starten und die GammaCorrection wieder zurück zu setzen etc.

DP-Maintenance 5. Jun 2007 09:27

DP-Maintenance
 
Dieses Thema wurde von "SirThornberry" von "Klatsch und Tratsch" nach "Windows 9x / ME / 2000 / XP / 2003 / Vista" verschoben.

xZise 5. Jun 2007 10:01

Re: "Software-hellerer" Bildschirm
 
Naja das behebt es nicht :( (Neustart des Spiels)

OregonGhost 5. Jun 2007 10:13

Re: "Software-hellerer" Bildschirm
 
Das Treiberkontrollprogramm müsste auch eine Gamma-Einstellung haben, da gibt es häufig ein Desktop-Profil. Kannst das ja mal ausprobieren.

bitsetter 5. Jun 2007 12:52

Re: "Software-hellerer" Bildschirm
 
Hi,
ich habe mal ein Spiel versuchsweise terminiert, danach hat folgendes geholfen:
Delphi-Quellcode:
uses math;

type
  TGammaRamp = packed record
    R : array[0..255] of word;
    G : array[0..255] of word;
    B : array[0..255] of word;
  end;

function SetGamma(Value : byte) : TGammaRamp;
var
  I : integer;
  DC : HDC;
  V : integer;
begin
  for I := 0 to 255 do begin
    V := Round(255 * Power(I / 255, Abs(Value) / 255));
    if V > 255 then
      V := 255;
      Result.R[I] := V shl 8;
      Result.G[I] := V shl 8;
      Result.B[I] := V shl 8;
  end;
  DC := GetDC(0);
  try
    SetDeviceGammaRamp(DC, Result);
  finally
    ReleaseDC(0, DC);
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  SetGamma(255);
end;
Das muss natürlich nicht bei jedem Spiel funktionieren und hängt eventuell auch noch von der Grafikkarte ab.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:35 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz