DruckenMister WongFacebook

Auflösung und Farbtiefe ermitteln

System Win9x, WinNT, Win2000, WinXP, Vista, Win7
Ab Delphi-Version Delphi 1
Letzte Änderung 28.09.2010

Die aktuelle Auflösung der Grafikkarte erhält man, indem man einfach die Dimensionen des TScreen-Objekts abfragt:


  Horizontale_Aufloesung := Screen.Width;
  Vertikale_Aufloesung := Screen.Height;

Zur Ermittlung der Farbtiefe besorgt man sich den DeviceContext des Desktops und ermittelt dessen Farbtiefe:


function ScreenBitsPerPixel: Integer;
var
  DC: HDC;
begin
  DC := GetDC(0)// Device-Context des Desktops
  try
    Result := GetDeviceCaps(DC, BITSPIXEL);
  finally
    ReleaseDC(0, DC);
  end;
end;

Aufruf:

procedure TForm1.Button1Click(Sender: TObject);
var
  BitsPerPixel: Integer;
begin
  BitsPerPixel := ScreenBitsPerPixel;
  case BitsPerPixel of
     4: ShowMessage('16 Farben (4 Bit Farbtiefe)');
     8: ShowMessage('256 Farben (8 Bit Farbtiefe)');
    16: ShowMessage('64K Farben, High Color (16 Bit Farbtiefe)');
    24: ShowMessage('16M Farben, True Color (24 Bit Farbtiefe)');
    32: ShowMessage('16M Farben, True Color (32 Bit Farbtiefe)');
  end;
end;