Как получить глубину отображения экрана? - PullRequest
1 голос
/ 16 января 2012

Как мне получить цвета экрана?Я хотел бы знать, установлен ли экран на True Colours (32 бита) или High Colors (16 бит).

Я гуглил и думал, что его будет легко найти, но я могу 'ничего не могу найти (может быть, мне нужно поработать над своими навыками Google?)

Ответы [ 2 ]

6 голосов
/ 16 января 2012

Вы можете использовать свойство BitsPerPixel:

int bitsPerPixel = Screen.PrimaryScreen.BitsPerPixel;
0 голосов
/ 16 января 2012

Функция GetDisplayMode в DirectX9 API может помочь вам, я думаю. Вы просто напишите два оператора после включения необходимых заголовков;

D3DDISPLAYMODE currentMode;
pDevice->GetDisplayMode(0,&currentMode);

После того, как вы можете проверить значение глубины, как;

currentMode->Format

Я уверен, что есть другие функции WinAPI, но это все, что я знаю.

РЕДАКТИРОВАТЬ: Не видел, что вы упомянули Winforms.Это бесполезно тогда

...