Библиотека графических подпрограмм GRAPH, содержащая более 50 разнообразных процедур и функций, расширяет возможности PASCAL 7.0 по созданию изображений. Краткое описание этих функций и процедур приведено в табл. 11.1.
Функция
или процедура
| Назначение
|
Arc
| Построение дуги окружности
procedure Arc (X, Y: Integer; StAngle, EndAngle, Radius: Word);
|
Bar
| Построение закрашенного прямоугольника
procedure Bar(xl, yl, x2, y2: Integer);
|
Bar3D
| Построение закрашенного параллелепипеда
procedure Bar3D(xl, yl, x2, y2: Integer; Depth: Word; Top: Boolean);
|
Circle
| Построение окружности procedure Circle(X, Y: Integer; Radius: Word);
|
ClearDevice
| Очистка экрана и заливка его цветом фона procedure ClearDevice;
|
ClearViewPort
| Очистка окна и заливка его цветом 0 procedure ClearViewPort;
|
CloseGraph
| Завершение работы графического режима procedure CloseGraph;
|
DetectGraph
| Возвращает тип драйвера и режим его работы
procedure DetectGraph(var GraphDriver, GraphMode: Integer);
|
DrawPoly
| Построение многоугольника
procedure DrawPoly(NumPoints: Word; var PolyPoints);
|
Ellipse
| Построение эллипса
procedure Ellipse(X, Y: Integer; StAngle, EndAngle: Word; XRadius, YRadius: Word);
|
FillEllipse
| Построение закрашенного эллипса
procedure FillEllipse(X, Y: Integer; XRadius, YRadius: Word)
|
FillPoly
| Построение закрашенного многоугольника
procedure FillPoly(NumPoints: Word; var Poly Points);
|
FloodFill
| Заполнение замкнутой фигуры используя текущий цвет и узор
procedure FloodFill(X, Y: Integer; Border: Word);
|
GetArcCoords
| Возвращает координаты центра, начала и конца дуги
procedure GetArcCoords(var ArcCoords: ArcCoordsType);
|
GetAspectRatio
| Возвращает значение сторон экрана
procedure GetAspectRatio(var Xasp, Yasp: Word);
|
GetBkColor
| Возвращает цвет фона function GetBkColor: Word;
|
GetColor
| Возвращает цвет линий и контуров function GetColor: Word;
|
GetDefaultPalette
| Возвращает значение текущей палитры
procedure GetDefaultPalette(var Palette: PaletteType);
|
GetDriverName
| Возвращает имя текущего драйвера function GetDriverName: string;
|
GetFillPattern
| Возвращает тип узора заполнения
procedure GetFillSettings(var Filllnfo: FillSettingsType);
|
GetFillSettiiigs
| Возвращает тип узора заполнения
procedure GetFillPattern(var FillPattern: FillPatternType);
|
GetGraphMode
| Возвращает номер графического режима function GetGraphMode: Integer;
|
Getlmage
| Сохраняет изображение в буфере
procedure Getlmage(xl, yl, x2, y2: Integer; var BitMap);
|
GetLineSettings
| Возвращает параметры линии
procedure GetLineSettings(var Linelnfo: LineSettingsType);
|
GetMaxColor
| Возвращает максимальный номер в палитре цветов
function GetMaxColor: Word;
|
GetMaxMode
| Возвращает количество возможных графических режимов
function GetMaxMode: Integer;
|
GetMaxX
| Возвращает максимальную координату X function GetMaxX: Integer;
|
GetMaxY
| Возвращает максимальную координату Y function GetMaxY: Integer;
|
GetModeName
| Возвращает имя заданного графического режима
function GetModeName(ModeNumber: Integer): string;
|
GetModeRange
| Возвращает минимальный и максимальный номера графических режимов
procedure GetModeRange (GraphDriver: Integer; var LoMode, HiMode: Integer);
|
Get Palette
| Возвращает цвета палитры procedure GetPalette(var Palette: PaletteType);
|
GetPaletteSize
| Возвращает количество цветов в палитре function GetPaletteSize: Integer;
|
GetPixel
| Возвращает цвет пикселя function GetPixel(X, Y: Integer): Word;
|
GetText Settings
| Возвращает параметры текста
procedure GetTextSettings(var Textlnfo: TextSettingsType);
|
GetViewSettings
| Возвращает параметры текущего окна
procedure GetViewSettings(var ViewPort: ViewPortType);
|
GetX
| Возвращает координату курсора X function GetX: Integer;
|
GetY
| Возвращает координату курсора Y function GetY: Integer;
|
GraphDefaults
| Сброс параметров графического режима procedure GraphDefaults;
|
ImageSize
| Задание требуемого для изображения памяти
function ImageSize(xl, yl, x2, y2: Integer): Word;
|
InstallUserDriver
| Размещение драйвера
function InstallUserDriver(Name: string; AutoDetectPtr: pointer): integer;
|
InstallUserFont
| Установка нового драйвера
function InstallUserFont(FontFileName: string): Integer;
|
Line
| Рисует линию procedure Line(xl, yl, x2, y2: Integer);
|
LineRel
| Рисует линию в относительных координатах
procedure LineRel(Dx, Dy: Integer);
|
LineTo
| Рисует линию к указанной точке procedure LineTo(X, Y: Integer);
|
MoveRel
| Перемещает курсор в точку с относительньши координатами
procedure MoveRel(Dx, Dy: Integer);
|
MoveTo
| Перемещение экрана в указанную точку procedure MoveTo(X, Y: Integer);
|
OutText
| Выводит текст procedure OutText(TextString: string);
|
OutTextXY
| Выводит текст начиная с указанной точки
procedure OutTextXY(X, Y: Integer; TextString: string);
|
Pie Slice
| Строит и закрашивает часть круга
procedure PieSlice(X, Y: Integer; StAngle, EndAngle, Radius: Word);
|
Putlmage
| Помещает изображение из буфера на экран
procedure PutImage(X, Y: Integer; var BitMap; BitBlt: Word);
|
PutPixel
| Рисует точку procedure PutPixel(X, Y: Integer; Pixel: Word);
|
Rectangle
| Рисует прямоугольник procedure Rectangle(xl, yl, x2, y2: Integer);
|
RegisterBGIdriver
| Регистрация драйвера function RegisterBGIdriver(driver: pointer): Integer;
|
RegisterBGIfont
| Регистрация шрифта function RcgisterBGIfont(Font: pointer): Integer;
|
RestoreCrtMode
| Возвращение в текстовый режим procedure RestoreCrtMode;
|
Sector
| Рисует и закрашивает сектор
procedure Sector(x, у: Integer; StAngle, EndAngle, XRadius, YRadius: Word);
|
SetActivePage
| Задает активную страницу procedure SetActivePage(Page: Word);
|
SetAllPalette
| Задает палитру procedure SetAllPalette(var Palette);
|
SetAspcctRatio
| Задает соотношение между шириной и высотой экрана
function SetAspectRatio(Xasp, Yasp: Word): Word;
|
SetBkColor
| Задает цвет фона procedure SetBkColor(ColorNum: Word);
|
SetColor
| Задаст цвет линий, точек и т. д. procedure SctColor(Color: Word);
|
SetFillPattem
| Закрашивает произвольную замкнутую фигуру
procedure SetFillPattern(Pattcrn: FillPatternType; Color: Word);
|
SetFillStylc
| Устанавливает стиль заполнения
procedure SetFillStyle(Pattem: Word; Color: Word);
|
SetGraphBufSize
| Устанавливает размер буфера procedure SetGraphBufSizc(BufSize: Word);
|
SetGraphMode
| Устанавливает тип графического режима
procedure SetGraphModc(Mode: Integer);
|
SetLineStylc
| Устанавливает стиль линии
procedure SetLmeStyle(LineStyle: Word; Pattern: Word; Thickness: Word);
|
SetPalette
| Устанавливает один цвет палитры
procedure SetPalette(ColorNum: Word; Color: Short int);
|
SetRGBPalette
| Устанавливает палитру для VGA
procedure SetRGBPalette(ColorNum, RedValue, GreenValue, BlueValue: Integer);
|
SetTextJustify
| Устанавливает стиль выравнивания текста
procedure SetTextJustify(Horiz, Vert: Word);
|
SetTextStyle
| Устанавливает стиль вывода текста
procedure SetTextStyle(Font, Direction: Word; CharSize: Word);
|
SetUserCharSize
| Устанашшвает высоту и ширину символов
procedure SetUserCharSize(MultX, DivX, MultY, DivY: Word);
|
SetViewPort
| Устанавливает размеры окна
procedure SetViewPort(xl, yl, x2, y2: Integer; Clip: Boolean);
|
SetVisualPage
| Устанавливает параметры видимой страницы
procedure SetVisualPage(Page: Word);
|
SetWriteMode
| Задание способа рисования линии
procedure SetWriteMode(WriteMode: Integer);
|
TextHeight
| Возвращает высоту строки в пикселях
function TextHeight(TextString: string): Word;
|
TextWidth
| Возвращает ширину строки в пикселях
function TextWidth(TextString: string): Word;
|
Все рассмотренные выше программы требовали для своей работы текстовый режим работы. Модуль GRAPH требует установления графического режима. Для того чтобы это стапо возможным, необходимо проделать следующие действия.
Если вы затрудняетесь указать режим работы вашего видеоадаптера, то позвольте системе определить это самой с помощью функции DETECT.