Frage

Gibt es einen Cross-Plattform-Weg (Windows, Linux, Mac OS X) Bildschirmauflösung zu ändern? Weder Java noch .Net-Mono kann es tun. Nur durch native API-Aufruf. Es ist sehr merkwürdige Situation: Es gibt klare (verwaltet) Methoden Bildschirmauflösung zu erhalten, aber Verfahren zur Einstellung fehlt. Ist diese Funktion sehr gefährlich oder kompliziert? Hat anderes Cross-Plattform-System (Parrot, Realbasic etc.) tun?

War es hilfreich?

Lösung

Ich bin mir nicht sicher, ob Sie libSDL verwenden, aber check this out: http://docs.huihoo.com/sdl/1.2/sdlsetvideomode.html

PS Oh, übrigens, wenn nicht bereits weiß, ist libsdl eine plattformübergreifende Bibliothek in erster Linie für Spiele gedacht. http://www.libsdl.org/

Andere Tipps

tatsächlich - Einstellung Bildschirmauflösung ist abhängig von den OS / X-Server. Sie sollten darüber nachdenken, wenn Sie es wirklich brauchen, und dann, wenn Sie das tun, sollten Sie eine Art Abstraktionsschicht mit os-spezifischen Implementierungen schreiben. Und die Testumgebung einrichten (vor allem mit verschiedenem Linux-Flavors) wird die Hölle sein!

Ähm, es hängt wirklich von der Plattform (win32, Mac OS X, Linux alles tut dies anders [verschiedene Display-Treiber]). Sie sollten wahrscheinlich fragen sich, warum Sie die Bildschirmauflösung in erster Linie müssen geändert werden.

Sie könnten genauso gut stattdessen die Auflösung zu ändern, machen, was Inhalte, die Sie zu einer bestimmten unteren Bildschirmauflösung haben und dann die Skalierung auf den Bildschirm passen (fill). Es ist die gleiche Sache.

Es ist eine gute Frage. Ich bin mir nicht bekannt, dass Cross-Plattform-System, das es tut. Ich habe einmal auf eine Anwendung, die die Bildschirmauflösung automatisch geändert, und wenn ich es zu tun hatte, immer wieder würde ich nicht haben es auf diese Weise gestaltet. Es ist störend für den Benutzer die Auflösung zu ändern - ein wenig wie der Boden unter den Füßen zu bewegen. LCD-Monitore verfügen über eine ‚natürliche‘ Auflösung, die am besten bei weitem sieht. Ein Benutzer kann sehr ärgerlich sein, wenn Sie es aus, dass sie ändern.

Es gibt viele Geräte, bei denen Sie die Auflösung nicht ändern können. Handys, zum Beispiel *, von denen einige laufen Mac OSX oder Linux). Aber auch Desktops auf die Fähigkeit Auflösungen zu ändern ist nicht gegeben. Sie könnten eine Art Super-User-Account. Mit diesen Einschränkungen im Auge, so scheint es logisch, dass Cross-Plattform-Tools nicht stören.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top