Как проверить, включена ли автоматическая настройка соотношения сторон на мониторе - PullRequest
1 голос
/ 20 мая 2010

Игровое приложение написано на C ++ и использует DirectX 8 .

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

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

Спасибо

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

1 Ответ

2 голосов
/ 20 мая 2010

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

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

...