Home » Tipps & Tricks » System » Systemeinstellungen » Auflösung und Farbtiefe ermitteln

Auflösung und Farbtiefe ermitteln

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;