ДОМОЙ    ПАСКАЛЬ
О САЙТЕ
Общие сведения
Учебные материалы
Практические задания
Примеры программ
От автора
Используемые материалы
Карта
Благодарности
ТЕМЫ
Основные понятия языка
Структура программы
Стандартные типы данных
Присваивание, ввод и вывод
Линейные алгоритмы
Ветвления
Оператор выбора
Циклы
Графика в паскале
Массивы
Процедуры
Графика в паскале
[Предыдущий урок]      [На уровень вверх]      [Следующий урок]

Язык паскаль предоставляет возможность рисования изображений. Чтобы паскаль смог это сделать необходимо подключить модуль Graf.

Шаблон графичекой программы выглядит следующим образом:

Uses
    Graph;
Var
    grDriver,grMode,res:integer;
Begin
    grDriver:=detect;
    init Graph (grDriver,'путь к файлу BGI');
    Операторы графических изображений
    Close graph;
End.

Библеотека GRAPH

Библеотека (модуль) Graph содержит константы, процедуры и функции для управления графическим режимом работы монитора.

Константы цвета

Black = 0
Blue = 1
Green = 2
Cyan = 3
Red = 4
Magneta = 5
Brown = 6
LightGray = 7
{Черный}
{Синий}
{Зеленый}
{Голубой}
{Красный}
{Фиолетовый}
{Коричневый}
{Светлосерый}
  DarkGray = 8
LightBlue = 9
LightGreen = 10
LightCyan = 11
LightRed = 12
LightMagneta = 13
Yellow = 14
White = 15
{Темносерый}
{Яркосиний}
{Яркозеленый}
{Яркоголубой}
{Розовый}
{Малиновый}
{Желтый}
{Белый}

Константы типов и толщины линий

SolidLn = 0
DottedLn = 1
CenterLn = 2
{Сплошная}
{Точечная}
{Штрихпунктирная}
  DashedLn = 3
NormWidth = 1
ThickWidrth = 3
{Пунктирная}
{Нормальная толщина}
{Тройная толщина}

Константы шаблона штриховки

EmtyFill = 0
solidFill = 1
LineFill = 2
LtSlashFill = 3
SlashFill = 4
BkSlashFill = 5
LtBkSlashFill = 6
HatchFill = 7
XHatchFill = 8
InterLeaveFill = 9
WideDotFill = 10
CloseDotFill = 11
UserFill = 12
{Заполнение цветом фона}
{Сплошная штриховка}
{Горизонтальная штриховка}
{/// штриховка}
{/// штриховка толстыми линиями}
{\\\ штриховка толстыми линиями}
{\\\ штриховка}
{Заполнение прямой клеткой}
{ЗАпонение косой клеткой}
{Заполнение частой сеткой}
{Заполнение редкими точками}
{Заполнение частыми точками}
{Тип задается пользователем}

Процедуры

Arc(X,Y:integer; U1,U2,R: Word) Строит дугу окружности текущим ыветом стекущими праметрами линии. X, Y - координаты ыентра дуги, U1 - угол до начальной точки дуги, отсчитываемый против часовой стрелки от горизонтальной оси, направленной слева направо, U2 - угол до конечно йточки дуги, отсчитываемый так же, как U1, R - радиус дуги.

Bar(X1,Y1,X2,Y2:integer) Строит прямоугольник, закрашенный текущим ыветом с использованием текущего стиля (орнамента, штриховки). X1, Y1, X2, X2 - координаты левого верхнего и правого нижнего углов прямоугольника.

Bar3D(X1,Y1,X2,Y2:integer;Glubina:word;Top:boolean) Строит параллелепипед, используя текущий стиль и цвет. X1, Y1, X2, X2 - координаты левого верхнего и правого нижнего углов передней грани; Glubina - ширина боковй гранни (отсчитывая по горизонтали), Top - признак включения верхней грани (Если True - верхняя грань вычерчивается, False - не вычерчивается).

Circle(X,Y:integer;R:word) Рисует текущем цветом окружность радиуса R с центром в точке (X,Y).

ClearDevice Очищает грфический экран, закрашивает его в цвет фона.

ClearViewPort очищает выделенное графическое окно, заркрашивает его в цвет фона.

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

Ellipse(X,Y:ineger; U1,U2,XR,YR:word) Рисует дугу эллипса текущим цветом; X, Y - координаты центра эллипса; U1, U2 - углы до начльной и конечной точек дуги эллипса (см. процедуру Arc); XR, YR - горизонтальная и вертикальная полосы эллипса.

FillEllipse(X,Y:ineger; XR,YR:word) Рисует заштрихованный эллипс, используя X,Y как центр и XR, YR как горизонтальную и вертикальную полосы эллипса.

FillPoly(N:word;Vwr PolyPoints) Рисует и штрихует многоугольник, содержащий N вершинс координатами в PolyPoints.

InitGraph(Var Driver, Mode:integer;Path:String) Организует переход в графический режим. Переменные Driver и Mode содержат тип графического драйвера и его режим работы. Третий параметр определяет маршрут поиска графического драйвера. Если строка пустая (т.е. ранва""), считается что драйыер находдится в текущем каталоге.

Line(X1,Y1,X2,Y2:Integer)Рисует линию от точки X1,Y1 до точки X2,Y2.

LineTo(X,Y:Integer)Рисует линию от текущего указателя к точке X1,Y1.

MoveTo(X,Y:Integer)Смещает текущий указатель к точке X,Y.

OutTextXY(X,Y:Integer;TextString:String)Выводит текст в заданное место экрана

PieSlice(X,Y:Integer;U1,U2,Radius:Word)Строит сектор круга, закрашенный текущей штриховкой и цветом заполнения. X,Y - координаты центар сектора круга; U1 и U2 - начальный и конченый кглы сектора, отсчитываемые против часовой стрелки от горизонтальной оси, напрвленной вправо; Radius - радиус сектора.

PutPixel(X,Y:Integer;Color:Word) Выводит точку цветом Color с координатами X,Y.

Rectangle(X1,Y1,X2,Y2) Рисует контур прямоугольника, используя текущий цвет и тип линии. X1,Y1 - координаты левого верхнего угла прямоугольника, X2,Y2 - координаты правого нижнего угла прямоугольника.

Sector(X,Y:Integer; U1,U2,XR,YR:word) Рисует и штрихует сектор эллипса радиусами XR и YR с центром в X,Y от начального угла U1 к конечному углу U2.

SetBkColor(Color:Word)Устанавливает цвет фона.

SetColor(Color:Word)Устанваливает основной цвет, которым будет осуществляться рисование.

SetFillStyle(Pattern,Color:Word)Устанавливает образец штриховки и цвет.

SetLineStyle(LineStyle,Pattern,Thickness:Word)Устанавливает толщину и стиль линии.

SetTextStyle(Font,Direction,CharSize:Word)Устанавливает текущий шрифт, направление (горизонтальное или вертикальное) и размер текста.

SetViewPort(X1,Y1,X2,Y2: Integer; ClipOn:Boolean) Устанавливает прямоугольное окно на крафическом экране. Параметр ClipOn определяет "отсечку" элементов изображния, не умещающихся в окне.

Функции

GetMaxX и GetMaxY Возвращает значения максимальных координат экрана в текущем режиме работы, соответственно, по горизонтали и вертикали.

GraphResult Возвращает значение GrOk, соответствующее коду 0, если все графические операции программы выполнились без ошибок.ю или возвращает числовой код ошибки (от -1 до -14).


[Предыдущий урок]      [На уровень вверх]      [Следующий урок]

Полезные сайты:
      Электронный учебник по Турбо Паскалю
      Примеры задач на паскале
Hosted by uCoz