首頁  >  文章  >  後端開發  >  如何確定 Winapi (C/C) 中全螢幕 OpenGL 視窗的最佳解析度?

如何確定 Winapi (C/C) 中全螢幕 OpenGL 視窗的最佳解析度?

Barbara Streisand
Barbara Streisand原創
2024-10-26 10:24:03201瀏覽

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_CXSCREEN)
垂直維度的GetSystemMetrics(SM_CYSCREEN)

或者,GetDeviceCaps 也可用於此目的。

組合顯示器解析度

    要確定係統中所有顯示器的組合尺寸,請使用:
  • GetSystemMetrics(SM_CXVIRTUALSCREEN) 作為水平尺寸
  • GetSystemMetrics(SM_CYVIRTUALSCREEN) 取得垂直尺寸

工作區域解析度

對於主顯示器上工作區域的大小(不包括工作列和停靠列),請使用:
    對於主顯示器上工作區域的大小(不包括工作列和停靠列),請使用:
SystemParametersInfo(SPI_GETWORKAREA)

特定顯示器

    要擷取特定顯示器的尺寸(包含工作區域和螢幕):
  • 要擷取特定顯示器的尺寸(包含工作區域和螢幕):

要擷取特定顯示器的尺寸(包含工作區域和螢幕):要擷取特定顯示器的尺寸(包含工作區域和螢幕):

要擷取特定顯示器的尺寸(包含工作區域和螢幕):

要擷取特定顯示器的尺寸(包含工作區域和螢幕):

    GetMonitorInfo
  • 注意:
  • 請記住,監視器座標並不總是從0x0 開始,這一點至關重要。因此,僅僅知道視窗的大小不足以準確定位視窗。利用 MonitorFromWindow 辨識視窗所在的監視器,然後呼叫 GetMonitorInfo。
低階控制

要存取較低層級的解析度管理或變更螢幕設置,請考慮下列函數:EnumDisplayDevices:枚舉顯示裝置EnumDisplayS?率特別有用。

以上是如何確定 Winapi (C/C) 中全螢幕 OpenGL 視窗的最佳解析度?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn