Краткая справка по языку программирования Turbo Pascal



         

Модуль Graph - часть 5


/p>

Модуль Graph

Интерфейс

Назначение

Управление графическим режимом

Procedure CloseGraph; Закрывает графический режим
Procedure DetectGraph(var grDriver, grMode : integer);

GrDriver - код драйвера, grMode - код графического режима

Определяет рекомендуемые к применению для данного компьютера графические драйвер и режим
Function GetDriverName : string;

Значение функции - имя используемого драйвера

Определяет имя файла с используемым графическим драйвером
Function GetGraphMode : integer;

Значение функции - код графического режима

Определяет код используемого графического режима
Function GetMaxMode : integer;

Значение функции - максимальное значение кода режима

Определяет максимальное значение кода графического режима для используемого драйвера
Function GetModeName : string;

Значение функции - имя используемого графического режима

Определяет имя используемого графического режима
Procedure GetModeRange(grDriver: integer; var LoMode, HiMode : integer);

grDriver - код графического режима;

LoMode, HiMode - наименьшее и наибольшее значение кода графического режима для данного драйвера

Определяет минимальное и максимальное значение кода графического режима для указанного при обращении драйвера
Procedure GraphDefaults; Устанавливает графический указатель в начало координат и переустанавливает графическую систему
Function GraphErrorMsg(ErrorCode : integer): string;

ErrorCode - код графической ошибки.

Значение функции - текстовое сообщение о характере ошибки

Дает строку - сообщение об ошибке графического режима по коду ошибки
Function GraphResult: integer;

Значение функции - код ошибки

Определяет, произошла ли ошибка при исполнении процедур модуля
Procedure lnitGraph(var grDriver, grMode : integer; PathToDriver: string);

grDriver - код драйвера, grMode - код графического режима; PathToDriver - путь к файлу используемого драйвера

Устанавливает заданный графический режим
Function InstallUserDriver(Name : string; AutoDetectPtr: Pointer): integer;

Name - имя файла графического драйвера AutoDetectPtr - указатель на процедуру, определяющую успешность запуска драйвера. Значение функции - цифровой код установленного драйвера.

Инсталлирует пользовательский драйвер графического режима
Procedure RegisterBGIdriver(Driver: pointer) : integer;

Driver - указатель на драйвер

Регистрирует драйвер графической системы
Procedure RestoreSrtMode; Закрывает графический режим и восстанавливает текстовый режим, установленный ранее
Procedure SetGraphMode(grMode: integer);

grMode - код графического режима

Устанавливает другой графический режим без изменения драйвера

Управление экраном и окнами

Procedure ClearDevice; Очищает экран, сбрасывает все графические установки к значениям по умолчанию, устанавливает графический указатель в положение (0,0)
Procedure ClearViewPort; Очищает экран, устанавливая фон, заданный в SetBRColor
Function GetMaxX: integer;

Значение функции - максимальная координата X

Function GetMaxY: integer;

Значение функции - максимальная координата Y

Procedure GetAspectRatio(var Xasp, Yasp : word ); Определяет коэффициенты, характеризующие расстояния между пикселами по осям Х и Y
Function GetBkColor: word;

Значение функции – код цвета фона

Определяет установленный цвет фона

Экран в целом и окна

Procedure GetViewSettings(var ViewPort: ViewPortType);

Viewport - параметры текущего окна

Запрашивает текущие параметры окна и отсечения
Procedure SetBkColor(Color: word);

Значение функции - код цвета фона

Устанавливает цвет фона
Procedure SetActivePage(Page : word);

Page - номер активной страницы

Устанавливает активную графическую страницу
Procedure SetAspectRatio(var Xasp, Yasp : word );

Xasp, Yasp - коэффициенты по осям Х и Y

Изменяет масштабный коэффициент отношения сторон экрана
Procedure SetVisualPage(Page : word);

Page - номер активной страницы

Устанавливает номер видимой графической страницы
Procedure SetViewPort(X1, Y1, X2, Y2 : integer; Clip : boolean);

(X1, Y1) (X2, Y2) - координаты противоположных углов окна; Clip определяет, отсекать ли изображение за пределами окна (true) или нет (false)

Устанавливает визуальный порт (окно) для вывода графического изображения

Управление цветом

Function GetColor : word;

Значение функции - код цвета

Возвращает текущий цвет

(установленный SetColor)

Procedure GetDefaultPalette(var Palette : PaletteType); Palette - палитра (массив типа PaletteType) Определяет, какая палитра действует в режиме по умолчанию
Function GetMaxColor : word;

Значение функции - максимальный код цвета

Определяет максимальный код цвета в установленном режиме
Procedure GetPalette(var Palette : PaletteType);

Palette - палитра (массив типа PaletteType)

Определяет, какая палитра установлена
Function QetPaletteSize : word;

Значение функции - количество цветов в палитре

Возвращает размер таблицы палитры
Procedure SetAIIPalette(var Palette : PaletteType);

Palette - палитра (массив типа PaletteType)

Устанавливает все цвета палитры
Procedure SetColor(Color: word);

Color - код цвета

Устанавливает цвет для линий
Procedure SetPalette(ColorNum, Color: word);

ColorNum - код заменяемого цвета; Color - код нового цвета

Устанавливает один новый цвет в палитре
Procedure SetRGBPalette(ColorNum, RedValue, GreenValue, BlueValue : word );

ColorNum - код устанавливаемого в палитре цвета; RedValue, GreenValue, BlueValue – интенсивность красного, зеленого и синего для этого цвета

Устанавливает в палитру цвет, заданный тремя компонентами: красным, зеленым и синим

Управление указателем

Function GetX : integer;

GetX - координата X указателя

Возвращает координату Х текущего положения указателя
Function GetY: integer;

GetY - координата Y указателя

Возвращает координату Y текущего положения указателя
Procedure MoveTo(X : integer; Y : integer);

X, Y - координаты точки экрана

Перемещает указатель в точку, заданную координатами X, Y
Procedure MoveRel(DeltaX : integer; DeltaY : integer);

DeltaX, DeltaY - вектор приращений координат точки экрана

Перемещает указатель в точку, координаты которой отличаются от текущих координат на величину DeltaX, DeltaY

Шаблоны, закраска областей

Procedure FloodFill(X, Y : integer; ColorBorder: word);

X, Y - координаты точки, вокруг которой идет закраска; ColorBorder - цвет, обозначающий границы области закраски

Закрашивает произвольную область по заданным шаблону и цвету, вокруг заданной точки до границ, обозначенных определенным цветом
Procedure GetFillPattern(var FillPattern : FillPatternType);

FillPattern - массив типа FillPatternType, содержащий информацию о шаблоне

Определяет установленный тип шаблона
Procedure GetFillSettings(var Filllnfo : FillSettingsType);

Filllnfo - запись типа FillSettingsType, содержащая информацию о шаблоне

Определяет установленный тип шаблона
Procedure GetLineSettings(var Linelnfo : LineSetting-sType);

Linelnfo - запись типа LineSettingsType, содержащая информацию о типе линии

Определяет установленный тип линии
Procedure SetGraphBufSize(Size : word);

Size - размер буфера

Изменяет размер буфера для функций заполнения
Procedure SetFillPattern(Pattern: FillPatternType; Color: word);

Pattern - массив типа FillPatternType, содержащий информацию о шаблоне; Color - цвет закраски

Устанавливает шаблон и цвет закраски
Procedure SetFillStyle( Pattern, Color: word );

Pattern - код стандартного шаблона, Color – цвет закраски

Устанавливает один из стандартных шаблонов и цвет закраски
Procedure SetLineStyle(lineStyle, Pattern, Thickness : word);

LineStyle - код стиля линии, Pattern - собственный шаблон линии, Thickness - толщина линии

Устанавливает стиль линии как один из стандартных или по собственному шаблону

Изображение геометрических фигур и линий

Procedure Arc(X, Y: integer; StartAngle, EndAngle, R : word);

X, Y - координаты центра окружности; StartAngle, EndAngle - начальный и конечный углы дуги окружности в градусах ( 0 359); R-радиус окружности в пикселах в направлении Х

Дуга окружности. Процедура учитывает неодинаковость

масштаба по осям

Procedure Bar(X1, Y1, Х2, Y2 : integer);

(Х1, Y1) и (Х2, Y2) - координаты левого верхнего и правого нижнего углов прямоугольника

Окрашенный прямоугольник без контура
Procedure Bar3D(X1, Y1, Х2, Y2 : integer; Depth : word; Top : boolean);

(X1, Y1) и (Х2, Y2) - координаты левого верхнего и правого нижнего углов параллелепипеда; Depth - его глубина; Тор -определяет, изображать ли верхнюю грань фигуры (true - изображать).

Изображает трехмерный прямоугольный параллелепипед, с заполнением передней грани. Верхняя грань может изображаться или нет
Procedure Circle(X, Y : integer; R : word);

(X, Y) - координаты центра окружности; R - радиус в направлении оси Х

Окружность. Процедура учитывает неодинаковость масштаба по осям
Procedure DrawPoly(NumPoints : word; var PolyPoints);

NumPoints - число точек, задающих ломаную линию, PolyPoints - массив точек (элементов типа Point), задающих ломаную линию

Ломаная линия, проходящую через заданный массив точек
Procedure Ellipse(X, Y : integer; StartAngle, EndAngle, Rx, Ry :word);

X, Y - координаты центра эллипса; StartAngle, EndAngle -начальный и конечный углы дуги эллипса в градусах(0 359); Rx, Ry - полуоси эллипса в направлениях Х и Y в пикселах

Дуга эллипса,начиная от StartAngle до EndAngle, полуоси эллипса в направлениях Х и Y заданы в пикселах и не учитывают масштаб изображения по осям
Procedure GetArcCoords(var ArcCoords: ArcCoordsType);

ArcCoords - запись, содержащая координаты дуги

возвращает координаты дуги, изображенной процедурами Arc и Ellipse
Procedure FillEllipse(X, Y : integer; Rx, Ry : word);

X, Y - координаты центра эллипса; Rx, Ry - полуоси эллипса в направлениях Х и Y в пикселах

Чертит закрашенный эллипс, полуоси эллипса в направлениях Х и Y заданы в пикселах; масштаб изображения по осям не учитывается
Procedure FillPoly(NumPoints : word; var PolyPoints);

NumPoints - число точек, задающих ломаную линию, PolyPoints - массив точек (элементов типа point), задающих ломаную линию

Изображает закрашенный многоугольник, заданный массивом вершин
Function GetPixel(X, Y : integer): word;

X, Y - координаты точки, результат - цвет точки

Возвращает цвет заданной точки
Procedure Line (x1, у1, х2, у2 : integer);

(х1,у1) и (х2,у2)-координаты конечных точек отрезка прямой

Чертит отрезок прямой по двум заданным конечным точкам
Procedure LineRel(DeltaX, DeltaY : integer);

(DeltaX, DeltaY) - смещение конечной точки относительно начального положения указателя

Чертит отрезок прямой от положения указателя до точки, смещенной относительно указателя на заданную величину. Перемещает указатель в конечную точку
Procedure LineTo(X, Y : integer);

(X, Y) - координаты точки, в которую проводится отрезок

Чертит отрезок прямой от точки положения указателя до заданной точки. Перемещает указатель в эту точку
Procedure Rectangle (x1, у1, х2, у2 : integer);

(x1, у1) и (х2, у2) - координаты противоположных углов прямоугольника

Чертит контур прямоугольника
Procedure Sector(X, Y : integer; StartAngle, EndAngle, Rx, Ry :word);

X, Y - координаты центра эллипса; StartAngle, EndAngle -крайние углы сектора эллипса в градусах (0...359); Rx, Ry - полуоси эллипса в направлениях Х и Y в пикселах

Изображает заполненный сектор эллипса, ограниченный углами от StartAngle до EndAngle. Заполняется сектор от минимального до максимального значения углов, независимо от их следования
Procedure PieSlice(X, Y : integer; StartAngle, EndAngle, R :word);

X, Y - координаты центра эллипса; StartAngle, EndAngle - крайние углы сектора эллипса в градусах (0...359); R - радиус окружности в направлении Х в пикселах

Изображает закрашенный сектор круга, ограниченный углами от StartAngle до EndAngle, радиус круга задан в пикселах в направлении Х и учитывает масштаб изображения по осям. Заполняется сектор от минимального до максимального значения углов, независимо от их следования
Procedure PutPixel(X, Y : integer; Color: word);

X, Y - координаты точки, Color - цвет точки

Окрашивает точку экрана в заданный цвет

Вывод текста

Procedure GetTextSettings(var Textlnfo : TextSettingsType);

Textlnfo - запись, содержащая действующие установки вывода текста

Определяет установки вывода текста
Procedure OutText(Text: string);

Text - выводимая строка текста

Выводит текст на экран начиная с позиции графического указателя. Позиция графического указателя смещается на ширину выводимого текста
Procedure OutTextXY(X, Y : integer; Text: string);

X, Y - координаты точки, к которой привязывается выводимый текст;

Text - выводимая строка текста

Выводит текст на экран относительно заданной точки, с учетом используемого типа юстировки
Function lnstallUserFont(FontFileName : string): integer;

FontFileName - имя файла, содержащего шрифт; Результат - номер (код) установленного шрифта

Инсталлирует новый шрифт
Procedure RegisterBGIFont(Font: pointer): integer;

Font - указатель на шрифт

Регистрирует шрифт для графической системы
Procedure SetTextJustify(Horiz, Vert: word); Horiz, Vert - коды привязки текста по горизонтали и вертикали Устанавливает тип привязки текста к точке вывода по горизонтали и вертикали
Procedure SetTextStyle(Font, Direction, CharSize : word);

Font - тип используемого шрифта, Direction -направление вывода надписи, CharSize – размер символов

Устанавливает стиль выводимого текста
Procedure SetUserCharSize(MultX, DivX, MultY, DivY: word); MultX, DivX, MultY, DivY - коэффициенты умножения (Mult) и деления (Div) по осям X и Y, соответственно Масштабирование шрифтов с произвольным дробным масштабом
Procedure SetWriteMode(WriteMode: integer);

Function TextHeight(Text: string): integer;

Text - строка выводимого текста. Результат - высота текста в пикселах

Определяет высоту текстовой строки при заданных установках стиля
Function TextWidth(Text: string): integer;

Text - строка выводимого текста. Результат - длина текста в пикселах

Определяет длину текстовой строки при заданных установках стиля

Копирование части экрана

Procedure Getlmage(X1, Y1, Х2, Y2 : integer; var BitMap: pointer);

(X1, Y1) и (Х2, Y2) - координаты противоположных углов прямоугольника, ограничивающего копируемую область экрана; BitMap - указатель на область памяти, отведенную для хранения данного изображения

Копирует в ОЗУ прямоугольную область экрана
Function lmageSize(X1, Y1, Х2, Y2 : integer): word;

(X1, Y1) и (Х2, Y2) - координаты противоположных углов прямоугольника, ограничивающего область экрана; значение функции - объем информации в байтах

Определяет размер в байтах памяти, необходимой для хранения прямоугольной области экрана
Procedure Putlmage(X, Y : integer; var BitMap : Pointer; BitBIt: word);

X, Y - координаты левого верхнего угла для выводимого изображения; BitMap - указатель на область памяти; BitBIt - код логической операции

Выводит изображения из памяти ЭВМ в указанную область экрана с заданной логической операцией наложения нового изображения на старое




Содержание  Назад  Вперед