Функции в программе graph

Целью работы является изучение основ работы с графическими процедурами и функциями языка Turbo Pascal.

2. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Модуль Graph представляет собой библиотеку из более чем 50 графических процедур и функций. В модуле поддерживаются несколько типов линий и стилей заполнения, существует несколько типов шрифтов, которые можно увеличивать, выравнивать и ориентировать вертикально или горизонтально. Для того чтобы выполнить программу, которая использует модуль Graph, необходимо иметь доступ к одному или более графических драйверов (файлы с расширением BGI), файлам TURBO.TPL, GRAPH.TPU и к файлам шрифтов с расширением CHR. Каждый драйвер содержит код и данные, хранящиеся в отдельном файле.

Во время выполнения, процедура InitGraph определяет графическое устройство, загружает и инициализирует соответствующий графический драйвер, переводит систему в графический режим и возвращает управление вызывающей программе.

Процедура Close Graph выгружает драйвер из памяти и восстанавливает предыдущий видеорежим.

Graph построение графиков

Рассмотрим используемую в графическом режиме координатную систему.

Верхний левый угол графического экрана определен как (0,0). Значение Х или колонки увеличиваются направо. Значение Y или строки увеличиваются вниз. Так в режиме 640×480 на адаптере CGA экранные координаты каждого из четырех углов и точка в центре экрана будут представлены:

Для вывода графической информации в заданную позицию в Turbo Pascal

используется текущий указатель (CP — Current Pointer). CP подобен курсору в

текстовом режиме, но в отличие от курсора CP не виден. Следующие процедуры

перемещают CP: InitGraph, MoveTo, MoveRel, LineTo, LineRel, OutText,

SetGraphMode, GraphDefaults, ClearDevice, SetViewPort, ClearViewPort.

Причем последние 5 команд перемещают CP в позицию (0,0).

Графический модуль Turbo Pascal позволяет использовать большое число

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

окружностей, дуг, эллипсов, прямоугольников, многоугольников и т.д. Все

графические процедуры и функции с кратким описанием приведены ниже.

Процедуры модуля Graph
Arc Рисует дугу от начального угла к конечному, используя (X,Y) как центр
Bar Рисует полосу, используя текущий стиль и цвет.
Bar3D Рисует 3-х мерную полосу, используя текущий стиль и цвет.
Circle Рисует окружность, используя (X,Y) как центр.
ClearDevice Очищает экран и устанавливает текущий указатель (CP) в начало.
ClearViewPort Очищает окно.
CloseGraph Закрывает графическую систему.
DetectGraph Проверяет аппаратуру и определяет какой графический драйвер и в каком режиме используется.
DrawPoly Рисует многоугольник текущим цветом и типом линии.
Ellipse Рисует эллиптическую дугу от начального угла к конечному, используя (X,Y) как центр.
FillEllipse Рисует заполненный эллипс, используя (X,Y) как центр и XRadius и YRadius как горизонтальные и вертикальные оси.
FillPoly Заполняет многоугольник, используя сканирование.
FloodFill Заполняет ограниченную область, используя текущий шаблон и цвет заполнения.
GetArcCoords Позволяет запросить координаты команды Arc.
GetAspectRatio Возвращает разрешение экрана из которого может быть вычислен относительный аспект (Xasp/Yasp).
GetFillPattern Возвращает шаблон заполнения, установленный последним вызовом SetFillPattern.
GetFillSettings Позволяет запросить текущий шаблон и цвет, установленные SetFillStyle или SetFillPattern.
GetImage Сохраняет битовый образ указанной части экрана в буфере.
GetLineSettings Возвращает текущие стиль, шаблон и толщину линии, установленные SetLineStyle.
GetModeRange Возвращает минимальный и максимальный графические режимы для данного драйвера.
GetPalette Возвращает текущую палитру и ее размер.
GetTextSettings Возвращает текущий шрифт, направление, размер и выравнивание текста, установленные SetTextStyle и SetTextJustify.
GetViewSettings Позволяет запросить текущие параметры окна и отсечения.
GraphDefaults Устанавливает текущий указатель (CP) в начало и переустанавливает графическую систему.
InitGraph Инициализирует графическую систему и устанавливает устройство в графический режим.
Line Рисует линию от (X1,Y1) к (X2,Y2).
LineRel Рисует линию от текущего указателя (CP) к точке, лежащей на заданном растоянии.
LineTo Рисует линию от текущего указателя к (X,Y).
MoveRel Передвигает текущий указатель (CP) на заданное расстояние от его текущей позиции.
MoveTo Передвигает текущий указатель (CP) в (X,Y).
OutText Выводит текст на экран от текущего указателя.
OutTextXY Выводит текст на экран.
PieSlice Рисует и заполняет сектор, используя (X,Y) как центр и рисуя от начального угла к конечному.
PutImage Выводит битовый образ на экран.
PutPixel Рисует точку (пиксел) в (X,Y).
Rectangle Рисует прямоугольник, используя текущий цвет и тип линии.
RestoreCRTMode Восстанавливает видеорежим, который был до инициализации графики.
Sector Рисует и заполняет сектор эллипса.
SetActivePage Устанавливает активную страницу для графического вывода.
SetAllPalette Изменяет цвет палитры.
SetAspectRatio Изменяет значение относительного аспекта.
SetBkColor Устанавливает цвет фона.
SetColor Устанавливает основной цвет, которым будет осуществляться рисование.
SetFillPattern Выбирает шаблон заполнения, определенный пользователем.
SetFillStyle Устанавливает шаблон заполнения и цвет.
SetGraphBufSize Позволяет изменить размер буфера для функций заполнения.
SetGraphMode Переводит систему в графический режим и очищает экран.
SetLineStyle Устанавливает текущие толщину и стиль линии.
SetPalette Изменяет один цвет палитры, указанный через ColorNum и Color.
SetRGBPallete Позволяет модифицизовать палитру для IBM 8514 и VGA.
SetTextJustify Устанавливает выравнивание текста, используемое OutText и OutTextXY.
SetTextStyle Устанавливает текущий шрифт, стиль и размер текста.
SetUserCharSize Позволяет изменить ширину и высоту символа для штрихового шрифта.
SetViewPort Устанавливает текущее окно для графического вывода.
SetVisualPage Устанавливает номер видимой графической страницы.
SetWriteMode Устанавливает режим вывода (копирование или XOR) для линий, рисуемых с DrawPoly, Line, LineRel, LineTo, Rectangle.
Функции модуля Graph.
GetBkColor Возвращает текущий фоновый цвет.
GetColor Возвращает текущий цвет.
GetDefaultPalette Возвращает аппаратную палитру в записи PaletteType.
GetDriverName Вoзвращает строку с именем текущего драйвера.
GetGraphMode Возвращает текущий графический режим.
SetMaxColor Возвращает максимальный цвет, который можно задать в SetColor.
GetMaxMode Возвращает номер максимального режима текущего загруженного драйвера.
GetMaxX Возврашает максимальный Х (разрешение по горизонтали) для текущего графического драйвера и режима.
GetMaxY Возвращает максимальный Y (разрешение по вертикали) для текущего графического драйвера и режима.
GetModeName Возвращает строку с именем указанного графического режима.
GetPaletteSize Возвращает размер таблицы палитры.
GetPixel Возвращает цвет точки в (X,Y).
GetX Возвращает координату X текущей позиции (CP).
GetY Возвращает координату Y текущей позиции (СР).
GraphErrorMsg Возвращает строку сообщения об ошибке для заданного кода ErrorCode.
GraphResult Возвращает код ошибки для последней графической операции.
ImageSize Возвращает число байт, требуемое для заполнения прямоугольной области экрана.
InstallUserDriver Устанавливает пользовательский драйвер устройства в BGI таблицу драйверов устройств.
InstallUserFont Устанавливает новый шрифт, который не встроен в BGI систему.
RegisterBGIdriver Регистрирует драйвер BGI для графической системы.
RegisterBGIfont Регистрирует шрифт BGI для графической системы.
TextHeight Возвращает высоту строки в пикселах.
TextWidth Возвращает ширину строки в пикселах.
Читайте также:
Как удалить программу блокнот с компьютера

Excel график функции

Источник: poisk-ru.ru

3 БАЗОВЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ МОДУЛЯ GRAPH

Чтобы строить изображение, необходимо указывать, по крайней мере, точку начала вывода. В текстовых режимах эту точку указывает курсор, который присутствует на экране, если его искусственно не убрать. В графических режимах видимого курсора нет, но есть невидимый текущий указатель СР (Current Pointer). Фактически это тот же курсор, но он невидим.

11 В текстовых режимах курсор перемещается процедурой GoToXY и другими, в графических режимах для перемещения СР также имеется ряд процедур и функций. В первую очередь, это MoveTo и MoveRel. MoveTo(X,Y:integer) перемещает текущий указатель в точку с координатами X,Y. Например, процедура MoveTo(200,100); переместит СР в точку экрана с координатами 200,100.

MoveRel(dX,dY:integer) перемещает СР на dX точек по горизонтали и на dY точек по вертикали. Так, процедура MoveRel(5,10); переместит СР из точки с координатами 200,100 в точку 205,110. В ряде программ выполняется постоянный контроль местоположения текущего указателя. Для этого используются функции GetX и GetY , которые возвращают соответственно значение Х- и Y-координаты СР.

Например: var Xpos, Ypos: integer; . . . Xpos := GetX; Ypos := GetY; . . . В процессе управления СР может возникнуть ситуация, когда его координаты выйдут за допустимые пределы. Для борьбы с такими ситуациями используются функции GetMaxX:integer и GetMaxY:integer , которые возвращают соответственно максимально возможные для установленного режима значения Х- и Y-координат. Например: X := 6000/10; Y := 2000/2; if ((X > GetMaxX) OR (Y > GetMaxY)) then begin Write(‘Нарушение диапазона!’); MarginHadling <Пользовательская процедура обработки ошибок>end; MoveTo(I,J); В графических программах довольно часто приходится определять координаты центра экрана по горизонтали и вертикали. Это делается очень просто: Xcenter := GetMaxX DIV 2; Ycenter := GetMaxY DIV 2; PutPixel(Xcenter,Ycenter,LightGreen); Такой способ избавляет вас от настройки на конкретный тип монитора и расширяет область применения программы.

Читайте также:
Лучшие программы для cad моделирования

3.3 Экран и окно в графическом режиме

По аналогии с текстовыми режимами графический экран может рассматриваться как одно большое или несколько меньших по размеру окон. После установки окна вся остальная площадь экрана как бы не существует и весь ввод – вывод осуществляется только через окно. В каждый отдельный момент может

12 быть активно только одно окно. Если окон несколько, за переключение ввода— вывода в нужное окно отвечает программист. По умолчанию окно занимает весь экран, значения координат его левого верхнего и правого нижнего угла устанавливаются автоматически процедурой инициализации InitGraph.

Например, следующий фрагмент установит окно, равное полному графическому экрану 640×350: DriverVar := VGA; ModeVar := VGAMed; InitGraph(DriverVar,ModeVar, »); Чтобы стереть все изображения на экране, т.е. очистить его, используется не имеющая параметров процедура ClearDevice . С момента ее выполнения все установки по цвету, фону и окнам аннулируются и указатель СР помещается в точку с координатами (0,0). Если требуется создать окно, следует воспользо- ваться процедурой SetViewPort(xl,yl,x2,y2:integer; Clip:boolean); где xl, yl — координаты левого верхнего угла, х2, у2 — координаты правого нижнего угла окна.

Параметр Clip определяет, будет рисунок отсекаться при выходе за границы окна (Clip:= True) или нет (Clip:= False). После создания окна за точку отсчета принимается верхний левый угол окна, имеющий координаты (0,0). Для очистки окна используется процедура ClearViewPort . После ее выполнения все изображения в окне стираются, и указатель СР устанавливается в левую верхнюю точку окна с координатами (0,0).

Напомним, что это внутренние координаты окна, а не полного экрана. Координатную систему полного экрана можно восстановить, в частности, с помощью ClearDevice или задав в процедуре установки окна максимально возможные значения: SetViewPort (0,0, GetMaxX, GetMaxY, True) ; Атрибуты текущего окна можно получить с помощью процедуры GetViewSettings(var Vp : ViewPortType). Необходимо помнить, что в отличие от текстовых окон графические окна после команды установки фона SetBkColor и очистки с помощью ClearViewPort меняют фон вместе с общим фоном экрана. Поэтому фон (точнее «закраску») графического окна следует устанавливать с помощью процедур SetFillStyle и SetFillPattern . В остальном работа с графическим окном аналогична работе с текстовым окном.

Читайте также:
Укажите программу в которой можно создать таблицу ответ

3.4 Вывод точки

Какие бы изображения ни выводились на экран, все они построены из точек. Имея средство построения точки определенного цвета в нужном месте экрана, теоретически можно создать любое изображение, вплоть до картины. В библиотеке GRAPH вывод точки осуществляется процедурой PutPixel(X,Y:integer;Color:word); где X и Y — экранные координаты расположения точки, Color — ее цвет. Константы цвета в модуле GRAPH приведены в таблице 4. Таблица 4

Константы цвета
13

Константа Значение
Black ( черный)
Blue 1 (синий )
Green 2 (зеленый)
Cyan 3 ( бирюзовый)
Red 4 ( красный)
Magenta 5 (малиновый)
Brown 6 ( коричневый)
LightGray 7 (светло-серый)
DarkGray 8 (темно-серый)
LightBlue 9 ( светло-синий)
LightGreen 10 (светло-зеленый)
LightCyan 11 ( светло-бирюзовый)
LightRed 12 ( светло-красный)
LightMagenta 13 ( светло-малиновый )
Yellow 14 ( желтый)
White 15 (белый)
Blink 128 ( мерцание)

Символы могут быть любого цвета из таблицы, а цвет фона — только первых восьми (от 0-го до 7-го). Чтобы узнать цвет точки в конкретной позиции экрана, используется функция GetPixel(X,Y:integer):word .

3.5 Вывод линии

Из точек строятся линии (отрезки прямых). Это делает процедура Line (XI,Y1,Х2,Y2:integer); где XI, Y1 — координаты начала, Х2, Y2 — координаты конца линии. Например: Line(l,1,600,1); В процедуре Line нет параметра для установки цвета.

В этом и других аналогичных случаях цвет задается процедурой SetColor(Color:word) , где Color — цвет, значение которого берется из таблицы 4. Например: SetColor(Cyan); Line(1,1,600,1); Для черчения линий применяются еще две процедуры: LineTo и LineRel. LineTo(X,Y:integer) строит линию из точки текущего положения указателя в точку с координатами X,Y. LineRel(dX,dY:integer) проводит линию от точки текущего расположения указателя в точку СРх + dX, СРу + dY, где СРх и СРу — текущие координаты СР. Паскаль позволяет вычерчивать линии самого различного стиля: тонкие, широкие, штриховые, пунктирные и т.д. Установка стиля производится проце- дурой SetLineStyle(LineStyle:word; Pattern:word; Thickness:word) .

Источник: studfile.net

Microsoft Graph для разработчиков

Новые возможности Microsoft Graph, анонсированные на Build 2017, позволяют устанавливать ещё более интересные взаимосвязи между людьми, их беседами, проектами и контентом, не говоря о синхронизация работы в ваших приложениях на различных устройствах. Поэтому мы решили остановиться подробнее на этом инструменте и перевели статью о новых API-интерфейсах и функциях для разработчиков. «Офисные» разработчики, добро пожаловать под кат. 🙂

На конференции Build 2017 корпорация Microsoft представила новые API-интерфейсы и функции Microsoft Graph, которые существенно расширяют возможности набора инструментов, предлагаемых разработчикам бизнес-приложений и бизнес-процессов.

Microsoft Graph обеспечивает взаимодействие между разными сущностями — пользователями, операциями, а теперь и между различными устройствами, поддерживая при этом совместную работу и обмен информацией. Также у Microsoft Graph есть функция предоставления оперативных аналитических данных о компании.

Ниже мы подробно рассмотрим новые возможности Microsoft Graph с акцентом на трёх ключевых темах: «Разработка приложений на основе новых расширенных наборов данных», «Разработка мощных приложений с поддержкой новых функциональных возможностей платформы» и «Простая и удобная разработка приложений с помощью упрощенного интерфейса разработчика».

Разработка приложений на основе новых расширенных наборов данных

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru