1
КОНСТАНТЫ
Константы цвета
Black = 0; {черный}
Blue = 1; {синий}
Green = 2; {зеленый}
Cyan = 3; {голубой}
Red = 4; {красный}
Magenta = 5; {фиолетовый}
Brown = 6; {коричневый}
LifhtGray = 7; {светлосерый}
DarkGray = 8; {темносерый}
LightBlue = 9; {яркосиний}
LightGreen = 10; {яркозеленый}
LightCyan = 11; {яркоголубой}
LightRed = 12; {розовый}
LightMagenta = 13;{малиновый}
Yellow = 14; {желтый}
White = 15; {белый}
Константы типов и толщины линий
0 = Сплошная
1 = Точечная
2 = Штрихпунктирная
3 = Пунктирная
4 = Тип определяется пользователем
1 = Нормальная толщина
3 = Тройная толщина
2
Константы для Bar3D
TopOn = True Рисовать вершину
TopOff = False Не рисовать вершину
Константы шаблона штриховки
0 = Нет штриховки
1 = Сплошная штриховка
2 = --- штриховка
3 = /// штриховка
4 = /// штриховка
5 = \\\ штриховка
6 = \\\ штриховка
7 = +++штриховка
8 = хххштриховка
9 = штриховка в клетку
10= штриховка редкими точками
11= штриховка частыми точками
12= штриховка задается пользователем
Процедуры
Arc(X,Y:Integer;S,E,R:Word;)
Рисует дугу радиусом R от начального угла S к конечному E, используя X,Y как координаты центра.
Bar(X1,Y1,X2,Y2:integer)
Рисует полосу заданного размера, используя текущий стиль и цвет.
3
Bar3D(X1,Y1,X2,Y2:Integer;D:Word;T:Boolean;)
Рисует трехмерную полосу, используя текущий стиль и цвет.
Сircle (X,Y:integer;R:word;)
Рисует окружность радиуса R, использзуя X,Y как координаты центра.
ClearDevice;
Очищает экран.
ClearViewPort;
Очищает окно.
СloseGraph;
Закрывает графический режим.
DelectGraph(var D,M:integer;)
возвращает тип D установленного драйвера и текущий режим M его работы.
DrawPoly (P:word; var PP)
Рисует многоугольник из P вершин с координатами в PP (координаты должны быть целого типа, перечисляться в той же последовательности, как они идут по контуру, причем первая вершина должна быть повторена в конце перечисления) текущим цветом и типом линии.
Ellipse (X,Y:integer:S, E, XR, YR:word)
Pисует эллиптическую дугу текущим цветом от начального угла S к конечному углу E используя X,Y как координаты центра и XR, YR как горизонтальный и вертикальный радиусы.
4
Fillellipse (X, Y:integer; XR, YR:word)
Рисует заштрихованный эллипс текущей штриховкой и цветом заполнения, используя X,Y как координаты центра и XR,YR как горизонтальный и вертикальный радиусы.
FillPoly(N:word; var PP)
Рисует и штрихует многоугольник , содержащий N вершин с координатами в PP (см. DrawPoly).
Floodfill (X,Y:integer; B:word)
Штрихует замкнутую область, содержащую внутреннюю точку с координатами X, Y и ограниченную линией с цветом В. Используется текущий образец штриховки и цвет.
GetImage (X1, Y1, X2, Y2: Integer: Var B)
сохраняет в переменной B битовой образ указанной части экрана В этой переменной.
GetLineSettings (Var L)
возвращает текущий стиль, шаблон и толщину линии.
GetModeRange (G: integer; var L, H: Integer)
Для графического драйвера G возвращает диапазон возможных режимов работы.
Getpallette (var P: PaletteType)
Возвращает текущую палитру и ее размер.
GetTextSettings (var TextInfo: TextSettingsType)
Возвращает текущий шрифт, направление, размер и выравнивание текста ,установленные процедурами SetTextStyle и
5
SetTextJustify.
GetViewSettings (var ViewPort: ViewportType)
Возвращает координаты и признак отсечки текущего окна .
GraphDefaults
Устанавливает стандартные параметры графического режима
InitGraph(var X,Y:Integer;P:String)
Инициализирует графический режим. Переменные X и Y должны содержать тип графического драйвера и его режим работы. Параметр Р определяет маршрут поиска файла графического драйвера.
Line(X1,Y1,X2,Y2:Integer)
Рисует линию от точки X1,Y1 до точки X2,Y2.
LineRel(DX,DY:Integer)
Рисует линию от текущего указателя к точке, заданной приращением координат.
LineTo(X,Y:Integer)
Рисует линию от текущего указателя к точке X,Y.
OutTextXY(X,Y:Integer;T:String)
Выводит текст в заданное место экрана.
PieSlice(x,y:Integer;S,E,R:Word)
Рисует и штрихует сектор окружности радиусом R с центром в X,Y от начального угла S к конечному углу E.
6
PutImage (X, Y: integer; var BitMap; BitMap: word).
Выводит битовый образ на экран.
PutPixel (X, Y: integer; C: word).
Выводит точку цветом C с координатами X, Y.
Rectangle (X1, Y1, X2, Y2: integer).
Рисует прямоугольник, используя текущий цвет и тип линии.
RestoreCRTMode
Восстанавливает текстовый режим работы экрана.
Sector(X, Y: integer;S, E, XR, YR: word).
Рисует и штрихует сектор эллипса радиусами YR, XR с центром X,Y от начального угла S к конечному углу E.
SetActivPage (P:word)
Устанавливает активную страницу для графического вывода.
SetAllPalette(var Palette)
Изменяет все цвета палитры.
SetAspectRatio(XAsp, YAsp: word)
Изменяет масштабный коэффициент отношения сторон графического экрана.
SetBkColor (Color: word)
Устанавливает цвет фона.
SetColor (Color: word)
7
Устанавливает основной цвет, которым будет осуществляться рисование.
SetFillStyle (Pattern, Color: word)
Устанавливает образец штриховки и цвет.
SetGraphMode (Mode:integer)
Устанавливает новый графический режим и очищает экран.
SetLineStyle (LineStyle, Pattern, Thickness: word)
Устанавливает толщину и стиль линии.
SetViewPort (X1,Y1,X2,Y2: Integer; ClipOn: Boolean)
Устанавливает текущее окно для графического вывода.
SetVisualPage (PageNo: word)
Устанавливает номер видимой графической страницы.
SetWriteMode (WriteMode: Integer)
Устанавливает режим вывода (копирование или XOR) для линии, рисуемых процедурами DrawPoly, Line,lineRel,LineTo, Rectangle.
Функции
GetBKColor:word
Возвращает текущий фоновый цвет.
GetColor:word
Возвращает текущий цвет.
GetDriveName:string
Возвращает строку с именем текущего драйвера.
8
GetGraphMode:integer
Возвращает текущий графический режим.
GetMaxColor:word
Возвращает максимальный цвет, который можно задать в SetColor.
GetMaxMode: integer
Возвращает номер максимального режима текущего загруженного драйвера.
GetMaxX: integer
Возвращает максимальную горизонтальную координату графического экрана.
GetMaxY: integer
Возвращает максимальную вертикальную координату графического экрана.
GetModeName (ModeNum: Word): string
Возвращает строку с именем указанного графического режима.
GetPaletteSize: integer
Возвращает номер палитры таблицы.
GetPixel (x, y: integer): word
Возвращает цвет пиксела с координатами X,Y.
GetX: integer
Возвращает координату X текущего указателя.
9
GetY: integer
Возвращает координату Y текущего указателя.
GraphErrorMsg (ErrorCode: integer): string
Возвращает строку сообщения об ошибке для заданного кода ErrorCode.
GraphResult: integer
Возвращает код ошибки для последней графической операции.
ImageSize (X1,Y1,X2,Y2: integer)
Возвращает число байт требуемое для сохранения прямоугольной области экрана.
InstallUserDriver (Name: string): integer
Устанавливает пользовательский драйвер устройства в таблицу драйверов устройств.
InstallUserFont (FontFileName: string): integer
Устанавливает новый шрифт, который не встроен BGI систему.
10
Пример программы с использованием графики
Program Example;
Uses Graph; {подключение графического модуля}
{раздел описаний Lable,const,Type,Var,Procedure,Function}
Var
I,J:integer;
Begin
I:=Detect;
InitGraph(i,j.'');
IF GraphResultgrOK then
Begin
Writeln('Ошибка при включении графического режима');
Halt;
End;
SetBkColor(15);SetLineStyle(0,0,3);
For i:=o To 10 Do
Begin
SetColor(I+3);
SetFillStyle(I+1.i+4);
FillEllipse(I*55+30,200,24,10*(1+2));
End;
Readln; {Для задержки изображения}
CloseGraph;
End.
ТУРБО-ПАСКАЛЬ
TURBO-PASCAL
Графика