XNA - 获取当前屏幕分辨率

Jpi*_*pin 17 c# desktop xna resolution screen

是否有可能获得当前的桌面屏幕分辨率?

我的XNA游戏中有一些小的设置,其中一个是屏幕分辨率.如果它大于当前桌面分辨率支持,我想要做的是屏幕分辨率选项.

Nic*_*ter 34

GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width并且.Height会给你设备的当前分辨率.

Game.GraphicsDevice.Viewport具有您可以查询的高度和宽度变量,它们将为您提供视口的分辨率.视口通常是窗口的大小,但不保证.

Window.ClientBounds.Width并将.Height为您提供游戏窗口的分辨率.

  • 可以将视口更改为小于窗口的大小(例如,分屏).我会坚持使用Window.ClientBounds.Width/Height. (3认同)
  • 啊,是的,你说得对。Viewport 为您提供游戏窗口的分辨率,如果您在 PC 上处于窗口模式,则该分辨率可能小于整个桌面,而 CurrentDisplayMode 为您提供桌面分辨率。我将编辑我的答案以包含这些详细信息以供将来阅读。 (2认同)

Jus*_*elf 8

GraphicsAdapter.SupportedDisplayModes将返回所有支持的宽高比的集合.然后,您可以显示此集合中的所有比率.

  • 没关系,看起来我误读了这个问题。我会把它留在这里给任何可能需要它的人。 (3认同)