Mirror

How many colors can the graphic card display? (Views: 101)


Problem/Question/Abstract:

How many colors can the graphic card display?

Answer:

You can use WIN API function GetDeviceCaps() to calculate the number of colors supported by the current video mode. This function will return the number of maximum simultaneous colors current video device can handle. The var parameter will be set to the the number of bits per pixel or 0 in case of an error.


function GetColorsCount(var bitsperpixel: integer): longint;
var
  h: hDC;
begin
  Result := 0;
  bitsperpixel := 0;
  try
    h := GetDC(0);
    bitsperpixel := GetDeviceCaps(h, PLANES) *
      GetDeviceCaps(h, BITSPIXEL);
    Result := 1 shl bitsperpixel;
  finally
    ReleaseDC(0, h);
  end;
end;


Look at the ChangeDisplaySettings routine (in the Win32 API help) to change the mode at runtime

<< Back to main page