2. Установка видеорежима

Установка видеорежима необходима для выполнения графических процедур. Под видеорежимом подразумевается:

тип используемого монитора и видеокарты;

разрешение экрана;

использование цветного или монохромного изображения;

количество отображаемых цветов, определяемое количеством памяти выделяемой под цвет. Так “четырех битный цвет” соответствует шестнадцати цветам, восьми битный – 256 (т.е. два в восьмой степени) и т.д.

В настоящее время обычно используется 16 и 24 битные цвета.

Иногда до установки видеорежима для предотвращения возможных проблем несовместимости необходимо получить информацию о текущей видеосистеме.

Получение такой информации:

Record /videoconfig/ Myvideoconf ! включение структуры videoconfig под именем Myvideoconf

……………………..

call getvideoconfig (Myvideoconf) ! вызов п/п определения видеоконфигурации

Элементы структуры videoconfig описаны в файле fgraph.fd. Данной п/п можно узнать разрешение экрана, возможное количество цветов и т.д. Значения возвращаются через элементы структуры.

Установить графический видеорежим можно функцией setvideomode.

Пример:

dum = setvideomode ($MAXRESMODE)

В функцию передается идентификатор (номер) видеорежима. В данном случае передается символическая константа целого типа $MAXRESMODE (= - 3), определенная в файле FGRAPH.FD и определяющая, что выбирается и устанавливается видеорежим с максимальным разрешением.

В случае возникновения ошибки функция возвращает значение 0.

3. Установка среды изображения.

Перед непосредственным выводом изображения необходимо произвести некоторые предварительные настройки.

Установка курсора.

Функция displaycursor позволяет включить или выключить изображение курсора.

Пример:

I2 = displaycursor (1) ! включение курсора, 0 – выключение. Можно использовать символические константы $GCURSOROFF и $GCURSORON.

3.2 Установка палитры.

Каждому цвету на экране ставится в соответствие индекс цвета, по которому он вызывается. Обычно имеется 16 индексов, которым соответствуют 16 стандартных цветов, хотя самих цветов может быть больше.

Для ассоциирования цвета конкретному индексу используются процедуры: remappallpalette, remappalette и selctpalette.

Значение цвета определяется целым числом, состоящим из четырех байт (32 битов). Цвет задается указанием уровня интенсивности для каждого значения красного, зеленого и голубого цветов (RGB модель).

Значение цвета в двоичном виде:

zzzzzzzz zzBBBBBB zzGGGGGG zzRRRRRR, где z это 0, а B, G и R – значения битов для соответствующих цветов различной интенсивности. 1 (двоичные 00000001) соответствует минимальной интенсивности, а 63 (двоичное 00111111) максимальной. Чисто желтому цвету (100% зеленого и 100% красного) соответствуют значение:

(00000000 00000000 00111111 00111111)2 = (1392447)10 = (153f3f)16

белому (всего по 100%): (4144959)10 = (3f3f3f)16

Пример:

i2 = remapalette (1#153f3f) !присвоение индексу 1 желтого цвета

аналогично

i2 = remapalette (1,1392447)

аналогично

i2 = remapalette (1,$YELOW) !где $YELOW – константа, соответствующая желтому цвету (определена в файле Fgraph.fd)

Функция remappallpalette выполняет одновременное переназначение всех индексов цвета. В функцию передается массив значений цветов.

Установка координатных систем

Текстовые координаты.

Текстовые координаты служат для отображения текста шрифтом фиксированного размера. Координаты текста задаются в строках и столбцах. В обычном текстовом режиме: 25 строк и 80 столбцов. Установка текстовых координат осуществляется графической п/п settextposition.

Пример:

call settextposition (10, 50, rc)

10, 50–координаты начала текста; rc – локальное имя структуры rccoord (см. fgraph.fd) с помощью которой возвращается и передается в п/п предыдущая текстовая координата для ее переразмещения в новую. Координата (1,1) находится в левом верхнем углу.

Физические координаты.

Физические координаты являются фиксированными и определяются техническими средствами (видеокартой и монитором).Начало координат находится в левом верхнем углу, если не используется п/п setvieworg. Разрешения 640*480; 800*600. Физические координаты являются целочисленными.

Пример: перенос начала координат в точку (50, 100)

CALL setvieworg (50, 100, xy)

Теперь координата x изменяется от 50, до .numxpixels-50, а y, от 100 до .numypixels-100, где numxpixels и numypixels – элементы структуры videoconfig, содержащие максимальное число пиксел по осям OX и OY. Переустановка начала координат повлияет на все графические процедуры.

Используя физические координаты можно установить невидимую координатную область ‑ “область клипа”. Рисование в этом случае производится только в этой области, попытка рисования вне области игнорируется.

Пример:

call setcliprgn (10,10,100,100) – установка квадратной “области клипа”. Процедура setcliprgn не изменяет систему координат.


Информация о работе «Графическое программирование на Ms Fortran»
Раздел: Информатика, программирование
Количество знаков с пробелами: 36404
Количество таблиц: 5
Количество изображений: 4

Похожие работы

Скачать
110612
10
19

... набор процедур и функций языков программирования Basic и Pascal, позволяют управлять графическим режимом работы экрана, создавать разнооборазные графические изображения и выводить на экран текстовые надписи. ГЛАВА 2. ГРАФИЧЕСКИЕ ВОЗМОЖНОСТИ ЯЗЫКА ПРОГРАММИРОВАНИЯ В КУРСЕ ИНФОРМАТИКИ БАЗОВОЙ ШКОЛЫ (НА ПРИМЕРЕ BASIC И PASCAL)   2.1 Разработка мультимедиа курса «Графические возможности языков ...

Скачать
34318
0
0

... ООП. Сейчас язык С++ является языком публикаций по вопросам ООП. Практикум на С/С++:Фактически С++ содержит 2 языка: Полностью включает низкоуровневый Си, поддерживающий конструкции СП, и, собственно, С++ (Си с классами) – язык объектно-ориентированного программирования (ООП). Мы находимся сейчас на технологической ступени структурного программирования, поэтому начинаем с Си: Знакомство с С, ...

Скачать
35650
0
0

... # будет тесно интегрирован с языком XML[1]. 2.2 Паскаль Паскаль [PASCAL - акроним с французского - Program Applique a la Selection et la Compilation Automatique de la Litterature] - Процедурно-ориентированный язык программирования высокого уровня, разработанный в конце 1960-х гг. Никлаусом Виртом, первоначально для обучения программированию в университетах. Назван в честь французского ...

Скачать
50713
0
1

... проекта считается частично завершенной. Далее необходимо средствами той или иной визуальной системы программирования выполнить компиляцию, откладку и тестирование приложения.   Прикладное программное обеспечение   Прикладная программа или приложение — программа, предназначенная для выполнения определенных пользовательских задач и рассчитана на непосредственное взаимодействие с пользователем. ...

0 комментариев


Наверх