【问题标题】:XNA - Get Current Screen ResolutionXNA - 获取当前屏幕分辨率
【发布时间】:2012-02-15 19:37:07
【问题描述】:

是否可以获取当前桌面屏幕分辨率?

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

【问题讨论】:

标签: c# xna screen desktop resolution


【解决方案1】:

GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width.Height 将为您提供设备的当前分辨率。

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

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

【讨论】:

  • 感谢您的回复。我发现答案是:GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height
  • 啊,是的,你是对的。 Viewport 为您提供游戏窗口的分辨率,如果您在 PC 上处于窗口模式,它可能小于整个桌面,而 CurrentDisplayMode 为您提供桌面分辨率。我将编辑我的答案以包含这些详细信息以供将来阅读。
  • 视口可以更改为小于窗口的大小(例如分屏)。我会坚持使用 Window.ClientBounds.Width/Height。
  • 感谢 YellPike,我已将这些信息添加到答案中。
【解决方案2】:

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

【讨论】:

  • 没关系,看来我误读了这个问题。我会把它留在这里给任何可能需要它的人。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-05
  • 2010-12-03
  • 1970-01-01
  • 2013-03-12
相关资源
最近更新 更多