Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КНИГА_Учимся программировать TURBO PASCAL 7.doc
Скачиваний:
32
Добавлен:
19.08.2019
Размер:
1.62 Mб
Скачать

Тема 11 Графика. Модуль Graph

Библиотека графических подпрограмм GRAPH, содержащая более 50 разнообразных процедур и функций, расширяет возмож­ности PASCAL 7.0 по созданию изображений. Краткое описание этих функций и процедур приведено в табл. 11.1.

Таблица 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 требует установ­ления графического режима. Для того чтобы это стапо возмож­ным, необходимо проделать следующие действия.

Во-первых, в программе должна быть ссылка на модуль USES GRAPH;

Во-вторых, работу модуля нужно инициировать командой INITGRAPH(DRIVER, MODE, 'C:\BP\BGI');

где DRIVER - параметр установки типа графического драйвера видеоадаптера; MODE - задание режима его работы; 'C:\BP\BGI' -строка, указывающая на путь к директории, где расположены гра­фические драйверы *. BGI. Если в той же директории, где нахо­дится ваша программа, располагается и требуемый драйвер .BGI, то эта строка должна быть пуста: