Реферат Курсовая Конспект
Стандартный модуль работы с графическим экраном Graph - раздел Информатика, Информатика Лабораторный практикум По программированию На Турбо-Паскале 1) Назначение Модуля Подключаются Процедуры И Функции По Работе С Эк...
|
1) назначение модуля
Подключаются процедуры и функции по работе с экраном в графическом режиме, т.е. когда доступной становится любая точка (пиксель) экрана. Для их использования необходимо:
2) координаты экрана
Определяются возможностями видеосистемы ПЭВМ. Обычно стараются использовать наилучший возможный режим экрана
{ *** функции, связанные с координатами *** }
function GetX : integer; – получить текущую координату X;
function GetY : integer; – получить текущую координату Y;
function GetMaxX : integer; – получить максимально возможную координату экрана по X;
function GetMaxY : integer; – получить максимально возможную координату экрана по Y;
3) управление графическим режимом
{ *** определение, инициализация и восстановление текстового режима *** }
procedure DetectGraph (var GraphDriver, GraphMode : integer); – получение возможного типа драйвера и графического режима по установленным аппаратным средствам;
procedure InitGraph (var GraphDriver : integer;
var GraphMode : integer;
PathToDriver : String); – инициализировать графический режим экрана;
function GetMaxMode : integer; – получение наилучшего графического режима для данной ПЭВМ;
procedure SetGraphMode (Mode : integer); – задание графического режима;
function GetGraphMode : integer;– получение текущего графического режима;
procedure GraphDefaults; – установление графических параметров по-умолчанию (стандартных)
procedure RestoreCrtMode; – возвращение экрана в состояние, которое было до установления графики
procedure CloseGraph; – закрытие графического режима.
{ Коды завершений графических операций: }
grOk = 0; – без ошибок.
grNoInitGraph = -1; – не загружен драйвер графического режима.
grNotDetected = -2; – не определен тип видеокарты.
grFileNotFound = -3; – не найден файл с драйвером.
grInvalidDriver = -4; – ошибка работы драйвера.
grNoLoadMem = -5; – не хватает места в ОП для загрузки драйвера.
grNoScanMem = -6; – выход за пределы памяти при сканирующем заполнении
grNoFloodMem = -7; – выход за пределы памяти при заливке.
grFontNotFound = -8; – не найден заказанный шрифт.
grNoFontMem = -9; – не хватает места в ОП для загрузки шрифта.
grInvalidMode = -10; – неверный режим графики.
grError = -11; – ошибка графической операции.
grIOerror = -12; – ошибка графического ввода/вывода
grInvalidFont = -13; – ошибка в файле шрифта.
grInvalidFontNum = -14; – недопустимый номер шрифта.
{ *** Функции, возвращающие сведения об ошибках *** }
function GraphErrorMsg (ErrorCode : integer) : String; – название ошибки по коду;
function GraphResult : integer; – код ошибки последней графической операции.
4) управление экраном и окном
{ *** экран, окна, сохранение и восстановление окон *** }
procedure ClearDevice; – очиска грфического экрана цветом фона. Текущий указатель в левом верхнем углу;
procedure SetViewPort (x1, y1, x2, y2 : integer; Clip : boolean); – задание границ окна и типа отсечения;
procedure GetViewSettings (var ViewPort : ViewPortType); – получить характеристики окна;
procedure ClearViewPort; – очистить окно цветом фона;
procedure SetVisualPage (Page : word); – задает номер отображаемой графической страницы;
procedure SetActivePage (Page : word); – устанавливает для графического вывода активную страницу.
{ *** сохранение/восстановление части экрана *** }
function ImageSize (x1, y1, x2, y2 : integer) : word; – определить размер ОП для прямоугольника;
procedure GetImage (x1, y1, x2, y2 : integer; var BitMap); – сохранить в ОП образ прямоугольника;
procedure PutImage (X, Y : integer; var BitMap; BitBlt : word); – восстановить прямоугольник из ОП.
5) управление цветом
{ константы изображения цветов: }
Таблица 27. Кодировка цветов
Код | Имя константы | Цвет |
Black | Черный (прозрачный) | |
Blue | синий | |
Green | зеленый | |
Cyan | голубой | |
Red | красный | |
Magenta | фиолетовый | |
Brown | коричневый | |
LightGray | светло-серый | |
DarkGray | темно-серый | |
LightBlue | светло-голубой | |
LightGreen | светло-зеленый | |
LightCyan | светло-синий | |
LightRed | светло-красный | |
LightMagenta | светло-фиолетовый (розовый) | |
Yellow | светло-коричневый(желтый) | |
White | белый |
{ *** процедуры работы с цветом *** }
procedure SetBkColor (ColorNum : word); – установить цвет фона;
procedure SetColor(Color : word); – установить цвет рисования
function GetBkColor : word; – получить цвет фона;
function GetColor : word; – получить текущий цвет рисования;
function GetMaxColor : word; – получить максимально-возможное число цветов.
6) вывод точек
{ *** процедуры работы с точкой *** }
procedure PutPixel (X, Y : integer; Pixel : word); – поставить на экране точку (X,Y) заданным цветом (pixel);
function GetPixel (X, Y : integer) : word; – получить цвет точки с координатами (Х,Y).
7) вывод линий
{ типы и толщины линий для процедур Get/SetLineStyle: }
SolidLn = 0; { сплошная };
DottedLn = 1; { пунктирная };
CenterLn = 2; { штрих-пунктирная (осевая) };
DashedLn = 3; { штриховая };
UserBitLn = 4; { задаваемая пользователем };
NormWidth = 1; { нормальная (тонкая) } ;
ThickWidth = 3; { толстая }.
{ *** процедуры перемещений и проведения отрезков линий *** }
procedure LineTo (X, Y : integer); – линия из текущей точки в (X, Y);
procedure LineRel (Dx, Dy : integer); – линия из текущей точки в точку, смещенную на (Dx, Dy);
procedure MoveTo (X, Y : integer); – переход в точку (X, Y);
procedure MoveRel (Dx, Dy : integer); – переход из текущей точки в точку, смещенную на (Dx,Dy);
procedure Line (x1, y1, x2, y2 : integer); – линия из точки (x1,y1) в точку (x2,y2);
procedure GetLineSettings (var LineInfo : LineSettingsType); – получить текущие настройки рисования линий;
procedure SetLineStyle (LineStyle : word;
Pattern : word;
Thickness : word); – задать текущие настройки рисования линий.
8) вывод и закраска контуров
{ *** многоугольники, их закраска и текстуры *** }
procedure Rectangle (x1, y1, x2, y2 : integer); – построить незакрашенный прямоугольник;
procedure Bar (x1, y1, x2, y2 : integer); – построить закрашенный прямоугольник;
procedure Bar3D (x1, y1, x2, y2 : integer; Depth : word; Top : boolean); – построить паралелепипед;
procedure DrawPoly (NumPoints : word; var PolyPoints); – построить контур многоугольника из NumPoints точек;
procedure FillPoly (NumPoints : word; var PolyPoints); – построить закрашенный многоугольник из NumPoints точек;
procedure GetFillSettings (var FillInfo : FillSettingsType); – получить текущие характеристики закраски;
procedure GetFillPattern (var FillPattern : FillPatternType); – получить текущие характеристики текстуры;
procedure SetFillStyle (Pattern : word; Color : word); – задать характеристики закраски;
procedure SetFillPattern (Pattern : FillPatternType; Color : word);– задать характеристики текстуры;
procedure FloodFill (X, Y : integer; Border : word); – залить область текущей закраской от заданной точки (X,Y) до границы, заданной цветом (Border).
9) окружности, эллипсы, дуги
{ *** построение окружностей, эллипсов и их частей *** }
procedure Arc (X, Y : integer; StAngle, EndAngle, Radius : word); – построение дуги окружности;
procedure GetArcCoords (var ArcCoords : ArcCoordsType); – получение параметров дуги окружности;
procedure Circle (X, Y : integer; Radius : word); – построение окружности заданного радиуса и центра;
procedure Ellipse (X, Y : integer;
StAngle, EndAngle : word;
XRadius, YRadius : word); – построение дуги эллипса;
procedure FillEllipse (X, Y : integer;
XRadius, YRadius : word); – построение закрашенного эллипса.
procedure GetAspectRatio (var Xasp, Yasp : word); – получение относительного разрешения по X и Y;
procedure SetAspectRatio (Xasp, Yasp : word); – задание относительного разрешения по X и Y;
procedure PieSlice (X, Y : integer; StAngle, EndAngle, Radius : word); – построение закрашенного сектора круга;
procedure Sector (X, Y : Integer;
StAngle, EndAngle,
XRadius, YRadius : word); – построение закрашенного сектора эллипса.
10) вывод текста
{ константы для процедур Set/GetTextStyle }
DefaultFont = 0; { шрифт по-умолчанию };
TriplexFont = 1; { "оттененный" шрифт };
SmallFont = 2; { мелкий шрифт };
SansSerifFont = 3; { шрифт "сан-сериф"};
GothicFont = 4; { готический шрифт };
HorizDir = 0; { текст слева–направо };
VertDir = 1; { текст снизу–вверх };
{ размещение текста относительно заданной точки }
LeftText = 0; { текст влево от точки };
CenterText = 1; { точка в центре текста };
RightText = 2; { текст вправо от точки };
BottomText = 0; { текст под точкой };
{ CenterText = 1; уже определено выше }
TopText = 2; { текст над точкой };
UserCharSize = 0; { размер шрифта задается программистом }.
{ признаки отсечения фигур при выходе за пределы окна }
ClipOn = true; – за границами окна фигура не видна;
ClipOff = false; – за границами окна фигура видна;
{ *** процедуры вывода текста *** }
procedure GetTextSettings (var TextInfo : TextSettingsType); – получить текущие настройки вывода текста;
procedure OutText (TextString : string); – вывести текст относительно текущей точки;
procedure OutTextXY (X, Y : integer; TextString : string); – вывести текст относительно точки (X,Y);
procedure SetTextJustify (Horiz, Vert : word); – установить параметры центровки (размещения) текста;
procedure SetTextStyle (Font, Direction : word; CharSize : word); – выбрать шрифт, его размер и направление вывода текста;
procedure SetUserCharSize (MultX, DivX, MultY, DivY : word); – задать размер шрифта программиста;
function TextHeight (TextString : string) : word; – получить текущую высоту строки текста;
function TextWidth (TextString : string) : word; – получить текущую ширину строки текста.
– Конец работы –
Эта тема принадлежит разделу:
РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ГИДРОМЕТЕОРОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ... В А БОЛЬШАКОВ Г И ВОРОНОВ Л А САВВАТЕЕВА...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Стандартный модуль работы с графическим экраном Graph
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов