Томский государственный университет систем управления и радиоэлектроники
Опубликован: 01.11.2012 | Доступ: свободный | Студентов: 633 / 68 | Длительность: 06:01:00
Лекция 7:

Графические средства

Аннотация: В седьмой лекции рассказывается о возможностях в создании программ использующих графику. Рассматриваются процедуры библиотеки Standard Graphics для создания простых графических приложений. Дано первое знакомство с системой GDI, которая обеспечивает богатый выбор процедур для рисования и работы с изображениями.

Вы можете скачать презентацию к данной лекции здесь.

Возможности

Стандартная графическая библиотека (Приложения Standard Graphics и Quick Win)

Графическая подсистема Windows Graphics Device Interface (Приложения Console, Windowing Application)

+

Графические библиотеки (OpenGL, SciGraph)

Стандартная графика

Модуль IFQWIN

Типы данных, константы, интерфейсы процедур.

После оператора program указать use IFQWIN


Конфигурация окна

Логическая функция flag = SetWindowConfig(wc) устанавливает конфигурацию окна

type (WINDOWCONFIG)
  INTEGER*2 NUMXPIXELS    ! число пикселов по оси X
  INTEGER*2 NUMYPIXELS    ! число пикселов по оси Y
  INTEGER*2 NUMTEXTCOLS   ! число столбцов текста
  INTEGER*2 NUMTEXTROWS   ! число строк текста
  INTEGER*2 NUMCOLORS     ! количество цветов
  INTEGER*4 FONTSIZE      ! размер шрифта
  CHARACTER*(80) TITLE    ! заголовок окна (Си-строка)
  INTEGER*2 BITSPERPIXEL  ! бит на пиксел
  ...
end type

Логическая функция flag = GetWindowConfig(wc) получает конфигурацию окна

Получить текущее разрешение окна приложения, установить заголовок окна.

program graph1
use ifqwin

logical(4) flag
type (windowconfig) wc

flag = GetWindowConfig(wc)
write(*,*) "Number of X pixels = ", wc.NUMXPIXELS
write(*,*) "Number of Y pixels = ", wc.NUMYPIXELS

wc.title = "Первая программа"C
flag = SetWindowConfig(wc)

end

Системы координат


call SetViewOrg(xp,yp,t) - перенос начала координат (0,0) в точку физической системы координат (xp,yp).

call SetClipRgn(x1,y1,x2,y2) - ограничение области вывода данных.

call SetViewPort(x1,y1,x2,y2) - установка порта просмотра.

res = SetWindow(finvert,wx1,wy1,wx2,wy2) - установка окна.

Пример. Создать окно для построения графика функции y(x) = sin(x), на отрезке от 0.0 до 3.0.

program graph2
use ifqwin
logical(4) flag
integer(4) ires4
type (windowconfig) wc

flag = GetWindowConfig(wc)
wc.title = "Оконная система координат"C
flag = SetWindowConfig(wc)

call SetViewPort(100,100,& 
INT2(wc.NumXpixels-100),INT2(wc.NumYpixels-100))

ires4 = SetWindow(.TRUE.,0.0d0,0.0d0,0.0d0,3.0d0)
end

Стандартная палитра 16 цветов