2009-02-17 3 views
4

Есть ли какой-либо кроссплатформенный способ (Windows, Linux, MacOSX) для изменения разрешения экрана? Ни Java, ни .NET-Mono не могут это сделать. Только с помощью встроенного вызова API. Это очень странная ситуация: есть четкие (управляемые) методы для получения разрешения экрана, но метод настройки отсутствует. Является ли эта особенность очень опасной или сложной? Выполняет ли какая-либо другая кроссплатформенная система (Parrot, RealBasic и т. Д.)?Кроссплатформенный способ изменения разрешения экрана

ответ

3

Я не уверен, что если вы используете libSDL, но проверить это: http://docs.huihoo.com/sdl/1.2/sdlsetvideomode.html

PS О, кстати, если бы не было уже известно, LibSDL является кросс-платформенной библиотеки предназначены в первую очередь для игры. http://www.libsdl.org/

+1

Просто отметим, что для C# в sdl уже есть couple bindings. – Tracker1

0

Ум, это действительно зависит от платформы (win32, Mac OS X, Linux все делает это по-другому [разные драйверы дисплея]). Вероятно, вы должны спросить себя, почему вам нужно в первую очередь изменить разрешение экрана.

Вы могли бы так же легко, вместо того чтобы изменять разрешение, отображать любой контент, который у вас есть, при некотором более низком разрешении экрана, а затем масштабировать его по размеру (заполнять) экраном. Это то же самое.

+0

Мне нужна эта функция в специальной кроссплатформенной утилите. Пользователь этой утилиты инициирует некоторые операции, подразумевающие изменение разрешения. – macropas

0

Это хороший вопрос. Я не знаю никакой кросс-платформенной системы, которая это делает. Я когда-то работал над приложением, которое автоматически меняло разрешение экрана, и если бы мне пришлось повторять это снова, я бы не разработал его таким образом. Это нарушает пользователь, чтобы изменить разрешение - что-то вроде перемещения земли под ногами. ЖК-мониторы имеют «естественное» разрешение, которое выглядит лучше всего. Пользователь может быть очень раздражен, если вы измените его.

+0

Посмотрите на мой комментарий к сообщению Джона – macropas

1

Фактически - настройка разрешения экрана зависит от ОС/X-сервера. Вы должны подумать об этом, если вам это действительно нужно, а затем, если вы это сделаете, вы должны написать какой-то слой абстракции с os-специфическими реализациями. И настройка тестовой среды (особенно с различными Linux-Flavors) будет ад!

0

Существует множество устройств, где вы не можете изменить разрешение. Телефоны, например * некоторые из которых запускают Mac OSX или Linux). Но даже на рабочих столах способность изменять разрешения не является заданной. Возможно, вам нужна какая-то суперпользовательская учетная запись. С учетом этих ограничений кажется логичным, что кросс-платформенные инструменты не беспокоят.

+0

Но есть много устройств, где мы можем изменить разрешение (с правами суперпользователя или без них). И некоторые функции могут возвращать логический результат для этой способности. :) – macropas

Смежные вопросы