Имеется более 70 предикатов для работы с графикой. При
работе с графикой в программе с помощью директивы компилятора include подсоединятеся текстовый файл GrapDecl.pro, в которм содержаться константы,
испоьзуемые в графических предикатах (названия графических драйверов, режимы их
работы, наименования цветов, стиль линий, коды возвращаемых ошибок, имена
побитовых операций и другие).
initgraph
(ГрДрайвер, ГрРежим, НовДрайвер, НовРежим, ПутьКДрайверу) (integer, integer, integer, integer, string) : (i, i, o, o, i)
Загружает драйвер сдиска или определяет уже загруженный
драйвер и переводит систему в гарфический режим. Свзывает перменные Нов* с
фактически загруженными драйверамигр.
режимами. ПутьКДрайверу описывает каталог, в котором ищется графический драйвер
(*.bgi). Если
необходимый драйвер не найден, то поиск повторяется в текущем каталоге. если
путь пустой, то драйвера должны быть в текущем каталоге. При выполнении
предиката возможны ошибки со следующими кодами:
6001 – невозможно определить гарфическую карту
6002 – невозможно найти файлы драйвера
6003 – неправильный драйвер
6004 – не хватает памяти для загрузки драйвера.
Чаще всего initgraph
применяется в паре с предикатом
arc (X, Y, НачУгол, КонУгол, Радиус) (integer, integer, integer, integer, integer)
(i, i, i, i, i) – рисуетсекторкруга.
bar (X1,
Y1, X2, Y2) (integer, integer, integer, integer) : (i, i, i, i) – рисуетзаполненнуюполосускоординатами
circle (X,
Y, Радиус) (integer,
integer, integer) (i, i, i) – окружность
cleardevice
– очистка экрана и установление пера в (0, 0) в текущем окне.
clearviewport
– чистит текущее окно
closegraph
– отключает графическую ситему, при этом освобождается память, выделенная для
графической системы и восстанавливается предыдущий режим экрана.
drawpoly
(СписокВершин) : (integer*
) (i) – рисует контур
многоугольгика. Координаты первой и последней точки должны совпадать.
ellipse (X,
Y, НачУгол, КонУгол, Храдиус, Урадиус) (integer, integer, integer, integer, integer,
integer) (i, i, i, i, i, i) – рисуетэллипс
fillellipse
( X, Y, Храдиус, Урадиус) – рисует и
заполняет эллипс.
fillpoly
(Список вершин) (integer
*) – рисует и заполяет многоугольник
getarccoords
(X, Y, Xнач, Унач, Хкон, Укон) (o, o, o, o, o, o) –
получает координаты из последнего вызова arg5.
getaspectratio
(Хотн, Уотн) (o, o)- определяет отношение горизонтального и
вертикального масштаба графического режима.
getbkcolor
(ЦветФона) (integer) (o) – возвращает текущий цвет
фона.
getcolor
(Цвет) (integer) : (o) – возвращает текущий
основной цвет
getdefaultpalette
(ПалитраУмолч) (integer)
(o) – палитра, заданная
по умолчанию.
getdrivername
(ИмяДрайвера) (string)
: (o) – возвращает имя
загруженного драйвера.
getfillsettings
(Шаблон, Цвет) (integer,
integer) : (o, o) – информация о текущем шаблоне
заполнения и цвете. Существует 11 заранее определенных шаблонов, описанных в
модуел. Если шаблон = 12, то используется шаблон, определенный пользователем.
getfillpattern
(Шаблон) (integer *) :
(o) – возвращает шаблон
заполнения, определенный пользователем с помощью setfillpattern. Шаблон имеет 8
сегментов, каждый 1 байт, отражающий на экране 8 пикселов. если бит равен 1 ,
то он отображается на экране.
getgraphmode
(ГрРежим) (integer) : (o) – возвращает значение
текущего графического режима. Когда вызывается предикат, режим уже должен быть
установлен.
getimage
(ЛевВерт, ПравНиз, ДвоичнМассив) (integer, integer,
integer, integer, string) (i, i, i, i, o) – сохраняет битовое изображение,
описанное прямоугольной областью экрана в памяти.
getmaxcolor
(МаксЦвет) (integer) :
(o) – максимальное
значение цвета пиксела для текущего графического драйвера и режима.
getmoderange
(ГрДрайвер, НизРежим, ВерхРежим) (integer, integer, integer) (i, o, o) – определитьдиапазонрежимадляуказанногографическогодрайвера. Если в ГрДрайвер указан
неправильно, то НизРежим=ВерхРежим=-1).
getpixel
(X, Y, Цвет) (integer) (i, i, o) –
возвращает цвет в (Х, У).
getX
(X) (integer) : (o) – возвращает текущую позицию
координаты Х относительно текущего окна.
getY (Y)
(integer) : (o)
graphdefaults
– переключает все графические значения в значения по умолчанию.
imagesize
(Лев,Верх, Прав, Низ, Размер) (integer,
integer, integer, integer, integer) : (i, i, o, o, o) – определяют количество байтов для
сохранения двоичного изображения прямоугольной области.
line (X1,
Y1, X2, Y2) (integer, integer, integer, integer) : (i, i, i, i) – рисуетлинию.
linerel
(Dx, Dy) (integer, integer)
: (i, i) – рисует линию на относительное
расстояние из текущей позиции.
lineto
(X, Y) (integer, integer)
: (i, i) – рисует линию из текущей позиции в
точку.
moverel
(Dx, Dy) (integer, integer)
: (i, i) – передвигает позицию на
относительное расстояние.
moveto
(X, Y) (integer, integer)
: (i, i) – передвигает позицию в точку.
outtext
(Строка) (string) : (i, i) – выводит на экран строку с текущей
позиции.
outtextXY
(X, Y, ТекстоваяСтрока) (integer, integer, string) (i, i, i) –
отображает строку с заданной позиции.
putimage
(X, Y, ДвоичнМассив, On) (integer, integer,
string, integer) (i, i, i, i) – выводит на экран
изображение, сохраненное с помощью getimage. On
указывает, как вычислить цвет каждого выводимого символа. Результат этой
операции зависит от пиксела, имеющегося на экране, и пиксела, который
выводится.
Имя
Значение
Описание
Copy_put
0
копирование
XOR_put
1
исключающее ИЛИ
OR_put
2
ИЛИ
AND_put
3
И
NOT_put
4
отрицание
putpixel
(X, Y, Цвет) (integer,
integer, integer) (i, i, i)
rectangle (Лев, Верх, Прав, Низ) (integer,
integer, integer, integer) (i, i, i, i)
restorecrtmode
– переход на другой графический режим.
setpalette
(СписокПалитры) (integer
*) : (i) Изменяет всю
палитру цветов. Размер зависит от графического драйвера.
setaspectratio
(Хотн, Уотн) (o, o)- устанавливает отношение горизонтального и
вертикального масштаба графического режима.
setbkcolor
(ЦветФона) (integer) (o) – устанавливает текущий
цвет фона.
setcolor
(Цвет) (integer) : (o) – устанавливает текущий
основной цвет
setfillpattern
(Шаблон) (integer *) :
(o) – устанавливает
шаблон заполнения, определенный пользователем с помощью setfillpattern. Шаблон имеет 8
сегментов, каждый 1 байт, отражающий на экране 8 пикселов. если бит равен 1 ,
то он отображается на экране.
setgraphmode
(ГрРежим) (integer) : (o) – устанавливает значение
текущего графического режима. Когда вызывается предикат, режим уже должен быть
установлен.
getmaxcolor
(МаксЦвет) (integer) :
(o) – максимальное
значение цвета пиксела для текущего графического драйвера и режима.
setviewport
(Лев, Верх, Прав, Низ, Флаг) (integer,
integer, integer, integer, integer) – (i, i, i, i, i) – устанавливает текущее графическое
окно для вывода. Переменной флаг определяется возможность рисовать за границей
окна (0 – нельзя).
setwritemode
(РежимРис) (integer) :
(i) – устанавливает
режим рисования линии. Существует 2 константы:
Copy_put =0 – цвет рисуемых линий будет накладываться
на изображение на экране.
XOR_put = 1 –
цвет будет смешиваться с изображением на экране.