> 백엔드 개발 > C++ > Winapi(C/C)에서 전체 화면 OpenGL 창에 대한 최적의 해상도를 어떻게 결정할 수 있습니까?

Winapi(C/C)에서 전체 화면 OpenGL 창에 대한 최적의 해상도를 어떻게 결정할 수 있습니까?

Barbara Streisand
풀어 주다: 2024-10-26 10:24:03
원래의
218명이 탐색했습니다.

How can I determine the optimal resolution for a fullscreen OpenGL window in Winapi (C/C  )?

Winapi(C/C)에서 현재 화면 해상도 감지

오늘날의 LCD 화면 세계에서는 새로 생성된 OpenGL 전체 화면 창에 대한 최적의 해상도를 결정하는 것이 중요합니다. 원활한 사용자 경험을 제공하기 위해 Winapi는 다양한 사용 사례에 맞게 화면 해상도 정보를 검색하는 여러 가지 방법을 제공합니다.

기본 모니터 해상도

기본 모니터의 크기를 얻으려면 다음 Winapi 기능을 사용할 수 있습니다.

  • 가로 차원의 경우 GetSystemMetrics(SM_CXSCREEN)
  • 세로 차원의 경우 GetSystemMetrics(SM_CYSCREEN)

또는 GetDeviceCaps를 이 목적으로 사용할 수도 있습니다.

결합된 모니터 해상도

시스템에 있는 모든 모니터의 결합된 크기를 확인하려면 다음을 사용하세요.

  • 가로 차원에 대해 GetSystemMetrics(SM_CXVIRTUALSCREEN)
  • 세로 크기에 대한 GetSystemMetrics(SM_CYVIRTUALSCREEN)

작업 영역 해상도

기본 모니터의 작업 영역(작업 표시줄 및 도킹 막대 제외) 크기를 보려면 다음을 사용하세요.

  • SystemParametersInfo(SPI_GETWORKAREA)

특정 모니터 해상도

특정 모니터의 크기를 검색하려면(작업 영역과 화면 모두 포함):

  • GetMonitorInfo

참고: 모니터 좌표가 항상 0x0에서 시작하는 것은 아니라는 점을 기억하는 것이 중요합니다. 따라서 크기를 아는 것만으로는 창의 위치를 ​​정확하게 지정하는 데 충분하지 않습니다. MonitorFromWindow를 활용하여 창이 있는 모니터를 식별한 후 GetMonitorInfo를 호출합니다.

낮은 수준 제어

낮은 수준의 해상도 관리에 액세스하거나 화면 설정을 변경하려면 다음 기능을 고려하세요. :

  • EnumDisplayDevices: 디스플레이 장치 열거
  • EnumDisplaySettings: 지원되는 디스플레이 설정 열거
  • ChangeDisplaySettings: 디스플레이 설정 수정

이 접근 방식은 특히 화면 새로 고침 빈도(GetDeviceCaps에서 직접 제공하지 않음)를 검색하거나 해상도를 조정하는 데 유용합니다.

위 내용은 Winapi(C/C)에서 전체 화면 OpenGL 창에 대한 최적의 해상도를 어떻게 결정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿