5

画面解像度を変更するクロスプラットフォーム (Windows、Linux、MacOSX) の方法はありますか? Java も .Net-Mono もできません。ネイティブ API 呼び出しのみ。非常に奇妙な状況です。画面の解像度を取得するための明確な (管理された) メソッドはありますが、設定するためのメソッドがありません。この機能は非常に危険または複雑ですか? 他のクロスプラットフォーム システム (Parrot、RealBasic など) はこれを行いますか?

4

5 に答える 5

4

libSDL を使用しているかどうかはわかりませんが、これを確認してください: http://docs.huihoo.com/sdl/1.2/sdlsetvideomode.html

PS ところで、まだご存じない場合は、LibSDL は主にゲーム向けのクロスプラットフォーム ライブラリです。 http://www.libsdl.org/

于 2009-02-17T07:54:27.100 に答える
1

実際-画面解像度の設定はOS/X-Serverによって異なります。本当に必要な場合はそれについて考え、必要な場合は、OS固有の実装を使用してある種の抽象化レイヤーを作成する必要があります。そして、テスト環境のセットアップ(特に異なるLinuxフレーバーを使用)は地獄になります!

于 2009-02-17T07:37:18.657 に答える
0

うーん、それは本当にプラットフォームに依存します (win32、Mac OS X、Linux はすべてこれを異なる方法で行います [異なるディスプレイ ドライバ])。そもそも、なぜ画面解像度を変更する必要があるのか​​、自問自答する必要があります。

解像度を変更する代わりに、コンテンツを低い画面解像度でレンダリングし、それを画面に合わせて (塗りつぶして) 拡大縮小することも簡単にできます。それは同じことです。

于 2009-02-17T06:55:07.180 に答える
0

いい質問です。それを行うクロスプラットフォームシステムを知りません。画面の解像度を自動的に変更するアプリケーションに取り組んだことがありますが、もう一度やり直す必要があるとしたら、そのように設計することはなかったでしょう。解像度を変更することは、ユーザーにとって混乱を招きます。足元の地面を動かすようなものです。LCD モニターは、はるかに見栄えの良い「自然な」解像度を備えています。それを変更すると、ユーザーは非常にイライラする可能性があります。

于 2009-02-17T06:58:49.807 に答える
0

解像度を変更できないデバイスはたくさんあります。電話、たとえば *Mac OSX または Linux を実行するものもあります)。ただし、デスクトップでも解像度を変更する機能はありません。ある種のスーパーユーザー アカウントが必要になる場合があります。これらの制限を念頭に置くと、クロスプラットフォーム ツールが問題にならないのは理にかなっているように思えます。

于 2009-02-17T08:32:59.630 に答える