How To Detect the Number of Colors Available in a DC (139202)



The information in this article applies to:

  • Microsoft Windows Software Development Kit (SDK) 3.1
  • Microsoft Win32 Application Programming Interface (API), when used with:
    • Microsoft Windows NT Server 3.5
    • Microsoft Windows NT Server 3.51
    • Microsoft Windows NT Workstation 3.5
    • Microsoft Windows NT Workstation 3.51
    • Microsoft Windows 95
    • Microsoft Win32s 1.2
    • Microsoft Win32s 1.25a
    • Microsoft Win32s 1.3

This article was previously published under Q139202

SUMMARY

When writing an application that uses the GDI, you may sometimes need to detect how many colors are available in the current video mode.

MORE INFORMATION

If you need to detect the total number of bits that are used to form a pixel in a given display context, you can use the following algorithm:

int dBitsInAPixel = GetDeviceCaps(hdc, PLANES) *
                    GetDeviceCaps(hdc, BITSPIXEL);
				


To determine how many colors are available, you can raise 2 to the power of dBitsInAPixel and this will return the maximum number of colors that are displayable at a given time in the specified display context (DC).

Modification Type:MinorLast Reviewed:3/21/2005
Keywords:kbhowto KB139202