是否有任何跨平台方式(Windows、Linux、MacOSX)来更改屏幕分辨率?Java 和 .Net-Mono 都无法做到这一点。只能通过本机 API 调用。这是很奇怪的情况:有明确(托管)的方法来获取屏幕分辨率,但没有设置方法。此功能是否非常危险或复杂?是否有任何其他跨平台系统(Parrot、RealBasic 等)可以做到这一点?
5 回答
我不确定您是否使用 libSDL,但请查看:http: //docs.huihoo.com/sdl/1.2/sdlsetvideomode.html
PS 哦,顺便说一句,如果不知道的话,LibSDL 是一个主要用于游戏的跨平台库。 http://www.libsdl.org/
实际上 - 设置屏幕分辨率取决于 OS/X-Server。如果您真的需要它,您应该考虑它,然后,如果需要,您应该编写某种具有特定于操作系统实现的抽象层。并且设置测试环境(尤其是使用不同的 Linux 风格)将是地狱!
嗯,这真的取决于平台(win32、Mac OS X、Linux 都不同[不同的显示驱动程序])。您可能应该首先问自己为什么需要更改屏幕分辨率。
您可以轻松地而不是更改分辨率,而是以较低的屏幕分辨率渲染您拥有的任何内容,然后对其进行缩放以适应(填充)屏幕。这是同一件事。
这是个好问题。我不知道有任何跨平台系统可以做到这一点。我曾经开发过一个可以自动更改屏幕分辨率的应用程序,如果我不得不重新做一次,我就不会那样设计它了。更改分辨率会对用户造成干扰——有点像移动脚下的地面。LCD 显示器具有迄今为止看起来最好的“自然”分辨率。如果你改变它,用户可能会非常恼火。
有很多设备无法更改分辨率。电话,例如 *其中一些运行 Mac OSX 或 Linux)。但即使在台式机上,改变分辨率的能力也不是给定的。您可能需要某种超级用户帐户。考虑到这些限制,跨平台工具不打扰似乎是合乎逻辑的。