跨平台改变屏幕分辨率的方法

时间:2009-02-17 06:33:11

标签: .net mono cross-platform screen-resolution

是否有任何跨平台方式(Windows,Linux,MacOSX)来更改屏幕分辨率? Java和.Net-Mono都不能做到这一点。仅通过本机API调用。这是非常奇怪的情况:有明确的(托管)方法来获得屏幕分辨率,但缺少设置方法。这个功能非常危险或复杂吗? 有没有其他跨平台系统(Parrot,RealBasic等)这样做?

5 个答案:

答案 0 :(得分:3)

我不确定您是否使用了libSDL,但请查看:http://docs.huihoo.com/sdl/1.2/sdlsetvideomode.html

PS哦,顺便说一下,如果还不知道,LibSDL是一个主要用于游戏的跨平台库。 http://www.libsdl.org/

答案 1 :(得分:1)

实际上 - 设置屏幕分辨率取决于OS / X-Server。你应该考虑它,如果你真的需要它,那么,如果你这样做,你应该编写某种具有特定于os的实现的抽象层。并且设置测试环境(特别是使用不同的Linux-Flavors)将是地狱!

答案 2 :(得分:0)

嗯,这真的取决于平台(win32,Mac OS X,Linux都有不同的[不同的显示驱动程序])。您可能应该问自己为什么需要首先更改屏幕分辨率。

您可以轻松地而不是更改分辨率,以较低的屏幕分辨率渲染您拥有的任何内容,然后缩放以适合(填充)屏幕。这是一回事。

答案 3 :(得分:0)

这是一个很好的问题。我不知道有任何跨平台系统可以做到这一点。我曾经在一个自动更改屏幕分辨率的应用程序上工作,如果我不得不再做一遍,我就不会那样设计它。用户改变分辨率是一种破坏性 - 有点像移动脚下的地面。液晶显示器具有“自然”分辨率,目前看来效果最佳。如果您将其更改为远离用户,则可能会非常恼火。

答案 4 :(得分:0)

有很多设备无法改变分辨率。电话,例如*其中一些运行Mac OSX或Linux)。但即使在台式机上,改变分辨率的能力也不是特定的。您可能需要某种超级用户帐户。考虑到这些限制,跨平台工具似乎没有理由这么做。