Манипулирование экраном и графическими окнами
Ниже приводится краткий обзор функций манипулирования с экраном, графическими окнами, битовыми образами и элементами изображения:
cleardevice | Очищает экран (активную страницу). |
setactivepage | Устанавливает активную страницу для
графического вывода. |
setvisualpage | Устанавливает номер видимой графической страницы. |
clearviewport | Очищает текущее графическое окно. |
getviewsettings | Возвращает информацию о текущем графическом окне. |
setviewport | Устанавливает текущее графическое окно
для направления на него графического вывода. |
getimage | Записывает битовый образ в заданный
участок памяти. |
imagesize | Возвращает число байт, требуемых для хранения некоторой прямоугольной области экрана. |
putimage | Помещает на экран ранее записанный в
память битовый образ. |
getpixel | Получает цвет элемента изображения в
(x,y). |
putpixel | Помещает элемент изображения на экран в
точку (x,y). |
Помимо черчения и закрашивания, графическая библиотека предлагает несколько функций для манипулирования экраном, графическими окнами, образами и указателями. Вызвав функцию cleardevice,
можно сразу очистить весь экран. Данная подпрограмма стирает экран и помещает текущую позицию в графическое окно, но при этом
оставляет действующими все прочие установки графической системы
(типы линии, заполнения и текста; раскраска, установки графического окна и т.д.).
В зависимости от имеющегося у вас графического адаптера, ваша система может иметь от одного до четырех буферов экранных
страниц, представляющих собой области памяти, где хранится информация по точкам о конкретных полноэкранных образах. При помощи
функций setactivepage и setvisualpage, соответственно, вы можете
указать активную страницу экрана (т.е. куда будет направлен вывод
графических функций), и визуальную (отображаемую) страницу экрана
(т.е. страницу, находящуюся в текущий момент на дисплее).
Когда ваш экран находится в графическом режиме, с помощью
функции setviewport вы можете определить графическое окно (или
прямоугольное "виртуальное окно") на экране. Позиция графического
окна задается в абсолютных экранных координатах. Кроме того, задается активное или неактивное состояние функции "отсечения".
Очистка графического окна выполняется при помощи функции
clearviewport. Для того, чтобы получить абсолютные экранные координаты и состояние "отсечения", следует воспользоваться функцией
getviewsettings.
Можно взять часть экранного образа при помощи функции
getimage, вызвать imagesize для вычисления числа байт для хранения этого образа в памяти, а затем вернуть образ на экран (в любую желаемую позицию) с помощью функции putimage. Координаты всех
функций вывода (черчения, заполнения, тексты и т.д.) зависят от
выбранного графического окна.
Благодаря функциям getpixel (возвращающей цвет данного элемента изображения) и putpixel (которая отображает данный элемент
изображения на экране заданным цветом) можно также манипулировать
цветом отдельных элементов изображения.