Инициализация графического режима, с указанием горизонтального и
вертикального разрешения
Синтаксис
Использование
ScreenRes width, height [, [depth] [, [num_pages] [, [flags] [, refresh_rate ]]]]
result = ScreenRes( width, height [, [depth] [, [num_pages] [, [flags] [, refresh_rate ]]]] )
Параметры
width,
height
Ширина и высота соответственно. Для полноэкранного
режима, пользователь должен проверить наличие разрешения с использованием
ScreenList.
depth
Глубина цвета в битах на пиксель. Допустимая глубина
цвета:
1,
2,
4,
8,
16 и
32.
Значения 15 и 24 также могут в качестве псевдонимов для 16 и 32,
соответственно. Если параметр опущен, то по умолчанию 8 бит на пиксель. 8
бит и ниже даст палитру изображению. Палитра по умолчанию будет первыми
2 ^ depth
цветами 256-цветовой палитры, используемой в
Screen 13.
num_pages
Количество создаваемых видеостраниц, по умолчанию 1. (См.
ниже)
flags
Используется для установки различных свойств экрана, в
том числе полноэкранного режима и используемого графического драйвера.
(смотрите
Screen или
стандартный заголовок "fbgfx.bi" для доступных флагов)
refresh_rate
Нужная частота обновления экрана, имеет эффект только для
полноэкранных режимов, и некоторых систем и драйверов. По умолчанию
соответствующее значение, недействительная частота обновления будет
игнорироваться.
Возвращаемое значение
Описание
ScreenRes сообщает компилятору слинковать GfxLib и
инициализировать режим QB-only, QB-on-GUI или OpenGL графику, в зависимости
от настроек
flags
В не полноэкранных режимах, разрешение может не совпадать с возможными
разрешениями графической карты. Разрешения такие, как 555x111 возможны,
GfxLib создаст окно такого размера. См. различия платформ для вопросов DOS.
Размер шрифта в режимах, созданных с помощью
ScreenRes
устанавливается 8x8 по умолчанию. Это может быть изменено путем установки
количества текстовых строк / столбцов, используя функцию
Width.
В режимах QB-only устанавливается разрешение окна или полноэкранная
установка, один или несколько буферов в стандартной памяти создаются,
консольные команды перенаправляются на их графические версии, a
палитра по умолчанию устанавливается и
автоматический поток обновления экрана запускается. QB-подобная графика и
консольные конструкции могут использоваться.
В режимах QB-on-GUI один или несколько буферов в стандартной памяти
создаются, консольные команды перенаправляются на их графические версии, a
палитра по умолчанию устанавливается.
QB-подобная графика и консольные операторы могут использоваться. Зависит от
пользователя создание окна и обновления его содержимого буферов
графики.
В режимах OpenGL, разрешение окна или весь экран устанавливается, один
или нескольких буферов в стандартной памяти создаются, и инициализируется
система библиотеки OpenGL. Здесь только OpenGL команды могут использоваться
для записи в графический буфер. QB-подобные и консольные команды запрещены.
Этот режим позволяет инициализацию OpenGL в портабельном виде.
Подробности см. в ключевом слове
Screen (Графика).
Пример
' Установим режим экрана 320 * 200, с 8 битами на пиксель
ScreenRes 320, 200, 8
' Нарисуем цветные полосы в диагональной
последовательности на весь экран
For y As Integer = 0 To 200-1
For x As Integer = 0 To 320-1
PSet (x,y),(x + y) And 255
Next x
Next y
' Печатаем текст "Hello World!!" по
нарисованным линиям, в верхнем левом углу
Print "Hello world!!"
' Держим окно открытым, пока пользователь не нажмет
клавишу
Sleep
Различия платформ
- В DOS, обновление настроек частоты, и Оконные и OpenGL связанные
переключатели не доступны, см. также GfxLib
обзор
Различия диалектов
- Не доступно в диалекте -lang qb
, но есть псевдоним __Screenres.
Отличия от QB
См. также