Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Fortran для персонального компьютера

..pdf
Скачиваний:
22
Добавлен:
15.11.2022
Размер:
12.5 Mб
Скачать

СМ. ТАКЖЕ

getphyscoord, getviewcoord, getviewcoord_w, moveto.

7.24 Вычисление размера области экрана. IMAGESIZE, IMAGESIZE_W

СИНТАКСИС

imsize = imagesize( xl, yl, x2, y2 )

ДЕЙСТВИЕ

Функция imagesize возвращает число байтов, требуе­ мых для хранения образа, определяемого ограничивающим прямоугольником. Функция imagesize определяет указанный прямоугольник в координатах порта просмотра* (xl ,у1) и (х2,у23.

ЗАМЕЧАНИЕ Требуемый размер памяти определяется по следующим

формулам:

xwid = abs( xl - х2 ) + 1 ywid = abs( yl - y 2 ) + 1

imsize = 4 + fNT( ( xwid * bitsperpixel + 7 )/8 ) * INT( ywid)) Значение bitsperpixel возвращается функцией

getvideoconfig как элемент соответствующей структуры. Функция imagesize_w определяет ограничивающий

прямоугольник в оконных координатах.

Функции imagesize и imagesizc_w возвращают значение размера области хранения образа в байтах.

СМ. ТАКЖЕ getvideoconfig.

7.25 Рисование линии. LINETO, LINETO_W

СИНТАКСИС

dummy = lineto( х, у )

ДЕЙСТВИЕ

Функция lineto рисует линию из текущей позиции до заданной точки (х,у) в координатах порта просмотра.

Функция lineto_w рисует линию с использованием окон­ ных координат.

ЗАМЕЧАНИЕ Линия рисуется с использованием текущего цвета и сти­

ля изображения. При отсутствии ошибок функция lineto уста­ навливает текущую позицию в точку с координатами (х,у), а функция lineto_w - в точку с оконными координатами.

В случае применения процедуры floodfill для заполне­ ния цветом замкнутой фигуры, нарисованной при помощи функции lineto, фигура должна быть нарисована с использо­

ванием шаблона сплошной линии”.

Процедуры lineto и lineto__w возвращают ненулевое зна­ чение, если линия рисуется успешно; в противном случае воз­ вращается 0.

ЗАМЕЧАНИЕ Текст выводится, начиная с текущей позиции текста.

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

Возвращаемое значение отсутствует.

СМ. ТАКЖЕ

setactivepage, settextposition.

7.29 Рисование сектора эллипса. PIE, PIE_W

СИНТАКСИС

dummy = pie( control, xl, yl, x2, y2, x3, y3, x4, y4 )

ДЕЙСТВИЕ

Функция pie выполняет рисование выреза фигуры эл­ липса с использованием координат порта просмотра. Центр эллиптической дуги совпадает с центром ограничивающего прямоугольника, координаты которого определяются точками (xl,yl) и (х2,у2). Дуга начинается в месте пересечения ее вектором с координатами (хЗ,уЗ) и кончается в точке пересе­ чения вектором с координатами (х4,у4).

Функция pie_w использует систему оконных координат.

ЗАМЕЧАНИЕ Вырез рисуется с использованием текущего цвета. Па­

раметр control может быть одной из символических констант, приведенных в описании функции ellipse.

Параметр) управления, задаваемый значением JGFILLINTERKJ R, эквивалентен последовательному вызову функции floodfill с использованием центра эллипса в качестве начальной точки и текущего цвета для ограничивающей ли­ нии.

Функции pie и pie_w возвращают ненулевое значение, если процедура рисования выполняется успешно; в противном

случае возвращается значение 0.

СМ. ТАКЖЕ

arc, ellipse, floodfill, getcolor, lineto, rectangle, setcolor, setfillmask.

7.30 Вывод области памяти на экран. PUTIMAGE, PUTIMAGEJW

СИНТАКСИС

CALL putimage ( х, у, image, action)

ДЕЙСТВИЕ

Процедура putimage отображает на экране образ, сохра­ няемый в буфере image. Верхний левый угол образа помеща­ ется в точку с координатами порта просмотра (х,у).

Процедура putimage_w оперирует с оконными ко­ ординатами.

ДЕЙСТВИЕ

Функция registerfonts выполняет инициализацию шрифтов графической библиотеки.

ЗАМЕЧАНИЕ

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

Функция registerfonts читает специфицированные фай­ лы и загружает информацию заголовка в память. Каждый заголовок шрифта занимает в памяти до 140 байт.

Параметр filename есть спецификация пути и имя файла с расширением .FON. Параметр filename может содержать стандартные символы универсального сопоставления.

Ф у н к ц и и р а б о т ы с о ш р и ф т а м и о к а з ы в а ю т в о з д е й с т в и е

т о л ь к о н а в ы в о д ф у н к ц и и o u t g t e x t .

Возвращается положительное значение, указывающее номер успешно зарегистрированного шрифта; в противном случае возвращается отрицательное значение из числа следу­ ющих:

-1 Нет заданного файла или каталога

-2 Один или более .FON файлов являются двоичными -3 Один или более .FON файлов испорчены

СМ. ТАКЖЕ

getfontinfo, getgtextextent, outgtext, setfont, unregisterfonts.

7.33 Переопределение палитры.

REMAPALLPALETTE, REMAPPALETTE

СИНТАКСИС

dummy = remapallpalette( colors ) dummy = remappalette( index, color)

ДЕЙСТВИЕ

Функция remapallpalette одновременно выполняет пере­ назначение всех доступных индексов цветов. Параметр colors указывает на массив значений цветов.

ЗАМЕЧАНИЕ

Число отображаемых цветов зависит от числа цветов, поддерживаемых в текущем видеорежиме. В 16-и цветном ре­ жиме отображаются цвета, с номерами от 0 до 15. В 8-и цвет­ ном режиме отображаются цвета с номерами от 0 до 7; в 4-х цветном режиме используется одна из стандартных палитр, поддерживаемых в EGA. В двухцветном режиме поддержива­

ются два цвета: черный и белый.

В случае успешного выполнения функция remapallpalette возвращает ненулевое значение; в противном случае возвращается значение 0. В случае успешного выпол­ нения функция remappalette возвращает предыдущее зна­ чение цвета для заданного индекса цвета; в противном случае возвращается значение -1.

выбрать текущую активную страницу. По умолчанию при­ нимается страница с номером 0.

ЗАМЕЧАНИЕ

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

Указанные функции могут использоваться для управ­ ления выводом текста при работе с функциями обработки тек­ ста, например: gettextcolor, gettextcursor, gettextposition, outtext, settextcolor, settextcursor, set text position, settextwindow и wrapon, вместо стандартных функций ввода/вывода компилятора языка ФОРТРАН.

При успешном выполнении возвращается номер преды­ дущей активной страницы. В противном случае возвращается значение -1.

СМ. ТАКЖЕ

getactivepage, setvisualpage, gettextcolor, gettextposition, outtext, settextcolor, settextposition, settextwindow, setvideomode, setvisualpage и wrapon.

7.36 Установка цвета фона. SETBKCOLOR

СИНТАКСИС

dummy = setbkcolor( color)

ДЕЙСТВИЕ

Функция setbkcolor устанавливает текущий цвет фона в соответствии со значением цвета color.

ЗАМЕЧАНИЕ

В цветном текстовом режиме (например, $ТЕХТС80) данная функция принимает индекс цвета. Значение для цве­ тов, принимаемых по умолчанию, указывается табл.6.15. На­ пример, setbkcolor(2) устанавливает цвет фона в индекс цвета 2. Фактически отображаемый цвет зависит от отображения палитры для значения 2 элемента изображения. По умолча­ нию в цветном текстовом режиме принимается значение зеле­

ного цвета.

В цветномграфическом режиме (например, JERESCOLOR) данная функция принимает значение цвета. Значение цвета фона задается символической константой, определенной во включаемом файле FGRAPH.FD. Например, setbkcolor($GREEN) устанавливает цвет фона в графическом режиме в зеленый цвет. Указанные символические константы реализованы для обеспечения удобства при определении и об­ работке наиболее часто используемых цветов. Фактический диапазон цветов является значительно большим.

Ф ункция setcolor принимает значение типа INTEGERM в качестве параметра, являющегося индексом цвета.