|
[Предыдущий урок]
[На уровень вверх]
[Следующий урок]
Язык паскаль предоставляет возможность рисования изображений.
Чтобы паскаль смог это сделать необходимо подключить модуль 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).
[Предыдущий урок]
[На уровень вверх]
[Следующий урок]
|