русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Работа с координатами, точками и линиями


Дата добавления: 2013-12-23; просмотров: 697; Нарушение авторских прав


End.

End;

CloseGraph;

Readln;

SetGraphMode(GetGraphMode);

Readln;

RestoreCRTMode;

Readln;

Begin

Else

End

Begin

Begin

Var

Uses Graph;

End.

Else

End

Begin

Begin

Var

Uses Graph;

End.

Begin

Var

Uses Graph;

End.

Begin

Var

Uses Graph;

Driver, Mode : Integer;

Driver := VGA;

Mode := VGAHi;

InitGraph(Driver,Mode,’C:\Lang\BP\BGI’);

Если тип адаптера не известен или программа рассчитана на работу с любым адаптером, тогда используется следующее обращение к процедуре с автоматическим определением типа драйвера:

Driver, Mode : Integer;

Driver := Detect;

InitGraph(Driver,Mode,’C:\Lang\BP\BGI’);

После такого обращения устанавливается графический режим, а при выходе из процедуры параметры Driver и Mode будут содержать значения, которые определяют тип драйвера и режим его работы. При этом для адаптеров с возможностью работы в нескольких режимах выбирается режим с максимальным кодом.

Для определения результата инициализации графического режима необходимо использовать функцию GraphResult. Функция возвращает целое число, в котором закодирован результат последнего обращения к графическим процедурам. Если ошибка не обнаружена, то функция возвращает 0 (grOK=0), в противном случае – код ошибки.

Функция GraphErrorMsg возвращает текстовое сообщение, которое соответствует указанному коду ошибки:



Function GraphErrorMsg(Code : Integer) : String;

Например,

Driver, Mode, Error : Integer;

Driver := Detect;

InitGraph(Driver,Mode,’’);

Error := GraphResult;

If (Error <> grOK) then

Writeln(’Ошибка: ’,GraphErrorMsg(Error));

Процедура CloseGraph завершает работу адаптера в графическом режиме и восстанавливает текстовый режим работы экрана.

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

ФункцияGetGraphModeвозвращает код установленного режима работы графического адаптера:

Function GetGraphMode : Integer;

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

Procedure SetGraphMode (Mode : Integer);


Например,

Driver, Mode, Error : Integer;

Driver := Detect;

InitGraph(Driver,Mode,’’);

Error := GraphResult;

If (Error <> grOK) then

Writeln(’Ошибка: ’,GraphErrorMsg(Error));

Writeln(’Графический режим’);

Writeln(’Текстовый режим ’);

Writeln(’Графический режим’);

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

Многие графические процедуры и функции используют указатель текущей позиции на экране, который в отличие от текстового курсора, невидим.

Координаты этого указателя и любого пиксела задается относительно левого верхнего угла, который имеет координаты (0,0).

Таким образом, горизонтальная координата экрана увеличивается слева направо, а вертикальная сверху вниз.

Функции GetMaxX и GetMaxY возвращают максимальные координаты экрана в текущем режиме работы:

Function GetMaxX : word;

Function GetMaxY : word;

Функции GetX и GetY возвращают координаты указателя по горизонтали и вертикали. Координаты определяются относительно левого верхнего угла окна или, если окно не установлено, экрана:

Function GetX : Integer;

Function GetY : Integer;

Для перемещения курсора используются следующие процедуры:

MoveTo(x,y:Integer) – перемещает курсор в точку экрана с координатами (x,y);

MoveRel(dx,dy:Integer) – перемещает курсор на dx пикселов по горизонтали и соответственно на dy по вертикали относительно последнего положения курсора.

Для задания пикселу с координатами (x, y) цвета Color используется процедура PutPixel:

Procedure PutPixel (x, y : Integer; Color : Word);

Функция GetPixel возвращает цвет пиксела с координатами (x,y):

GetPixel (x, y : Integer) : Word;

Для рисования линий используются следующие процедуры:

1. Процедура Line рисует линию от точки с координатами (x1,y1) к точке (x2,y2).

Procedure Line(x1, y1, x2, y2 : Integer);

2. Процедура LineTo рисует отрезок из текущей точки к точке с координатами (x, y).

Procedure LineTo(x, y : Integer);

3. Процедура LineRel рисует отрезок относительно текущей точки. Положение текущего указателя принимается за начало «временных» координат (0, 0) и указывается местоположение конца отрезка.

Procedure LineRel(dx, dy : Integer);

Для установки стиля линий используется процедура SetLineStyle:

Procedure SetLineStyle(LineStyle, Pattern, Thickness : Word);

Параметр LineStyleзадает тип линии. В модуле graph предусмотрены следующие константы:



<== предыдущая лекция | следующая лекция ==>
Подпрограммы для переключения между текстовым и графическим режимами | Перевод мировых координат в графические


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.338 сек.