2010-05-20 2 views
1

Приложение для игры написано на C++ и использует DirectX 8.Как проверить, включена ли автоматическая настройка формата изображения на мониторе

Я получаю максимальное разрешение монитора для расчета его Соотношение сторон. Затем я использую это значение для исправления рендеринга игры (масштаб и установка отсечения для получения нормального 4: 3 изображение с черными границами на широкий экран мониторы).

Как проверить, пользуется ли монитор с автоматической настройкой формата? Потому что мое масштабирование плюс масштабирование монитора делает итоговое изображение overscaled.

Благодаря

EDIT: Я видел правильное различное разрешение монитора обработки с или без соотношения сторон автоподстройки в «Royal Envoy» казуальной игры. Но не знаю, как они это делают.

ответ

2

Часто это реализовано на самом мониторе, поэтому приложение не сможет обнаружить этот случай.

Обратите внимание, что вам также необходимо обработать случай, когда разрешение монитора установлено на 1280x1024, что соответствует разрешению 5: 4, используя неквадратные пиксели (где размеры дисплея по-прежнему физически 4: 3). Если предположить, что ваши пиксели квадратные, это не всегда правильно. (Хотя, вероятно, есть возможность запросить OS или другой оконный менеджер для этой информации.)

+0

Спасибо. Кто-нибудь знает, как получить, если пиксели квадратные? – kFk

+0

@kFk - Я не помню, но я подумал, что есть вызов WinAPI, чтобы получить эту информацию. Тем не менее, это может быть набито в некоторой структуре свойств отображения. –