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;
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;