Графика
Теория: http://www.hot.ee/iriska2001//GraphTeoria.html
Задачи: http://www.hot.ee/iriska2001//GraphZada4i.html
Процедуры и функции графического режима
Дуга с центром в точке с координатами (х,у)
Arc
Синтаксис:
procedure Arc(x,у: integer; УголНачала, УголКонца: integer; Радиус: integer);
Действие:
Вычерчивает дугу с центром в точке с координатами (х,у). Параметры УголНачала
и УголКонца задают угловые координаты на-чальной и конечной точек линии дуги,
которая вычерчивается против часовой стрелки от начальной точки к конечной.
Угловые координаты задаются в градусах. Значение угловой координаты возрастает
против часовой стрелки. Параметр Радиус задает радиус дуги.
Дуга
вычерчивается цветом, заданным процедурой setcolor.
Закрашенный прямоугольник
Bar
Синтаксис:
procedure Bar(xl,yl,x2,y2: integer);
Действие:
Вычерчивает закрашенный прямоугольник. Параметры xl и yl задают положение левого верхнего угла прямоугольника, х2 и у2 — правого нижнего. Используемый стиль и цвет заливки задается Процедурой SetFillStyle.
Параллелепипед
Bar3D
Синтаксис:
procedure Bar3D(xI,yl,x2,y2: integer; Глубина: word; Граница: boolean);
Действие:
Вычерчивает параллелепипед. Параметры xl и yl задают положение левого
верхнего, а х2 и у2 — правого нижнего угла ближней грани параллелепипеда.
Параметр глубина задает расстояние между передней и задней гранями. Параметр
граница определяет, нужно ли вычерчивать верхнюю границу задней грани
параллелепипеда.
Цвет и стиль закраски ближней грани параллелепипеда можно
задать при помощи процедуры setmistyie, цвет линий границы — процедурой
setcolor.
Окружность радиуса г с центром в точке с координатами (х,у)
Circle
Синтаксис:
procedure Circle(х,у: integer; r: word);
Действие:
Вычерчивает окружность радиуса г с центром в точке с координатами
(х,у).
Цвет окружности можно задать при помощи процедуры Setcolor.
DetectGraph
Синтаксис:
DetectGraph(var Драйвер, Режим: integer);
Действие:
Проверяет графический адаптер и определяет, какой графический драйвер и режим используются.
Эллипс или дугу эллипса с центром в точке с координатами (к,у)
Ellipse
Синтаксис:
procedure Ellipse(х,у: integer; УголНачала, УголКонца: word;
РадиусХ,
РадиусУ: word) ;
Действие:
Вычерчивает эллипс или дугу эллипса с центром в точке с координатами (к,у). Параметры УголНачала и Уголконца задают угловые координаты начальной и конечной точек линии эллипса, которая вычерчивается против часовой стрелки от начальной точки к конечной. Угловые координаты задаются в градусах, их значения возрастают против часовой стрелки. Параметры РадиусХ и Радиусу определяют горизонтальный и вертикальный радиусы эллипса. Линия эллипса или дуги вычерчивается в соответствии с установками процедуры setcoior.
GetX, GetY
Синтаксис:
function GetX: integer; function GetY: integer;
Действие:
Возвращают координаты х и у указателя вывода.
GraphResult
Синтаксис:
function GraphResult: imteger;
Возвращает результат (код ошибки) последней выполненной графической операции.
Если операция выполнена успешно, функция возвращает ноль. Код ошибки выполнения
графической операции устанавливают процедуры Bar, Bar3D, InitGraph, PieSlice,
SetFillPattern, SetFillStyle, SetLineStyle, SetTextStyle
и др.
InitGraph
Синтаксис:
InitGraph(var Driver: integer; var Mode: integer; Path: string)
Действие:
Инициализирует графический режим. Параметр Driver определяет драйвер видеосистемы, параметр Mode — режим работы видеосистемы, параметр Path — каталог, где находится драйвер.
Линия между двумя точками экрана
Line
Синтаксис:
procedure Line(xl,yl,x2,y2: integer);
Действие:
Вычерчивает линию между двумя точками экрана, координаты которых указаны при
вызове процедуры. Линия вычерчивается стилем, установленным процедурой
SetLineStyle. Цвет линии можно задать при помощи процедуры setcoior.
Вычерчивает линию от текущего положения указателя вывода до точки
LineTo
Синтаксис:
procedure Line(x2,yl: integer);
Действие:
Вычерчивает линию от текущего положения указателя вывода до точки, координаты
которой указаны при вызове процедуры. Линия вычерчивается стилем, установленным
процедурой SetLineStyle. Цвет линии можно задать при помощи
процедуры
SetColor.
MoveTo
Синтаксис:
procedure MoveTo(x,у: integer);
Действие:
Перемещает указатель вывода в точку с координатами х и у.
MoveRel
Синтаксис:
procedure MoveRel(dx:, dy: integer);
Действие:
Перемещает указатель вывода на dx и dy пикселов. Если значение параметра dx
(dy) положительное, то указатель перемещается вниз (влево), если отрицательное,
то — вверх (вправо).
OutText
Синтаксис:
procedure OutText{Текст: string);
Действие:
Выводит строку символов текст от текущего положения указателя вывода и
перемещает указатель вывода в точку, расположенную за последним выведенным
символом.
Цвет выводимых символов можно задать при помощи процедуры SetColor,
а шрифт — SetTextStyle.
OutTextXY
Синтаксис:
procedure OutTextXY(x, у: integer; Текст: string);
Действие:
Устанавливает указатель вывода в точку с координатами (х,у) и выводит строку символов, текст, при этом указатель вывода своего положения не меняет, остается в точке с координатами (х, у).
Цвет выводимых символов можно задать при помощи процедуры SetColor, а шрифт — процедурой SetTextStyle.
Вычерчивает сектор радиуса Радиус с центром в точке с координатами (х,у).
PieSlice
Синтаксис:
procedure PieSlice(х,у: integer; УголНачала,УголКонца, Радиус: word);
Действие:
Вычерчивает сектор радиуса Радиус с центром в точке с координатами (х,у).
Параметры УголНачала и УголКонца задают угловые координаты начальной и конечной
точек линии окружности (в градусах), которая вычерчивается против часовой
стрелки от начальной к конечной точке. Значение угловой координаты возрастает
против часовой стрелки. Нулевому углу соответствует горизонтальный отрезок,
проведенный из точки (х,у) в сторону
возрастания координаты х. ЕСЛИ
УголНачала равен 0°, а УголКонца
равен 360°, то процедура PieSlice
вычерчивает круг.
Сектор закрашивается в соответствии со стилем, заданным
процедурой SetFiiisiyle, линия и границы вычерчиваются цветом, установленным
процедурой setcoior.
Цветная точка
PutPixel
Синтаксис:
procedure PutPixel(х,у: integer; Цвет: word);
Действие:
Окрашивает пиксел, точку с координатами (х,у), цветом цвет. В качестве
параметра цвет обычно используют именованную
КОНСТаНТу (СМ. SetColor) .
Прямоугольник
Rectangle
Синтаксис:
procedure Rectangle{xl,yl,x2,y2: integer);
Действие:
Вычерчивает прямоугольник. Параметры x1 и y1 задают положение левого верхнего угла прямоугольника, х2 и у2 — правого нижнего угла прямоугольника.
Устанавливает стиль вычерчиваемых контуров и линий
SetLineStyle
Синтаксис:
procedure SetLineStyle(ТипЛинии: word; Образец: word; Толщина: word) ;
Действие:
Устанавливает стиль вычерчиваемых контуров и линий (см. процедуры Line,
Circle И Др.).
Параметр тип линии, в качестве которого обычно используется
одна из именованных констант, определяет вид линии.
Константа | Тип линии |
SolidLn | Сплошная, непрерывная |
DottedLn | Пунктирная, с постоянной длиной штрихов |
CenterLn | Штрих-пунктирная линия |
DashedLn | Пунктирная, длина штрихов чуть больше, чем у линии типа DottedLn |
DashedLn | Пунктирная, длина штрихов чуть больше, чем у линии типа DottedLn |
Параметр толщлна определяет толщину линии. Линия может быть обычной толщины
(константа Normwidth) или утолщенная
(константа ThickWidth).
Параметр
образец используется в том случае, если процедура SetLinestyle устанавливает тип
линии, определяемый программистом. Значением параметра образец должна быть
четырехразрядная шестнадцатеричная константа, кодирующая отрезок линии длиной в
16 пикселов.
Устанавливает шрифт, размер и
ориентацию текста, выводимого
процедурами outTextxY и
outText.
SetTexStyle
Синтаксис:
procedure SetTexStyle{Шрифт, Ориентация, Размер: word);
Действие:
Устанавливает шрифт, размер и ориентацию текста, выводимого
процедурами
outTextxY и outText. В качестве параметра шрифт можно использовать одну из
перечисленных ниже констант.
Константа | Значение | Шрифт |
DefaultFont |
0 | Стандартный. Каждый выводимый символ формируется в квадрате размером 8 на 8 пикселей |
TriplexFont | 1 | Triplex шрифт |
SmallFont | 2 | Мелкий |
SansSerifFont | 3 | SansSerif шрифт |
GothicFont | 4 | Готический |
Примечание
В шрифтах, отличных от стандартного (DefaultFont),
букв русского алфавита нет.
Параметр Ориентация задает ориентацию выводимого
процедурами outText и OutTextxY текста. Текст может быть ориентирован обычным
образом (значение параметра ориентация в этом случае равно именованной константе
Normal) или вертикально, т. е.
снизу вверх (в этом случае значение параметра
ориентация равно Vertical).
Еще функции, которые могут пригодиться
GotoXY
Синтаксис:
procedure GoToXY(x,y: byte);
Действие:
Перемещает курсор в точку экрана, имеющую координаты (х,у).
Halt
Синтаксис:
procedure Halt [ (КодЗавершения: word) ];
Действие:
Завершает выполнение программы и передает управление операционной
системе.
ReadKey
Синтаксис:
function ReadKey : char;
Действие:
Возвращает символ, соответствующий нажатой клавише. Используя функцию Ord,
можно получить код нажатой клавиши.
Если нажата служебная клавиша (например,
клавиша перемещения курсора), то функция ReadKey возвращает символ с кодом 0. В
этом случае для идентификации служебной клавиши следует еще раз вызвать функцию
ReadKey, которая теперь вернет код служебной клавиши.
Ниже приведены коды
некоторых часто используемых клавиш.
Клавиша Код
<Esc> 27
<Backspace> 8
<Enter> t
13
<Space> 32
<Kypcop вверх> 0;72
<Kypcop вниз>
0;80
<Kypcop влево> 0;75
<Kypcop вправо> 0;77
TextBackGround
Синтаксис:
procedure TextBackGround(Цвет: byte);
Действие:
Задает цвет фона сообщений, выводимых инструкциями write и writein. В
качестве параметра цвет может использоваться одна из перечисленных ниже
именованных констант.
Константа Цвет Номер цвета
Black
Черный 0
Blue Синий 1
Green Зеленый 2
Cyan Бирюзовый 3
Red Красный
4
Magenta Сиреневый с
Brown Коричневый 6
LightGray Белый 7
TextColor
Синтаксис:
procedure TextColor(Цвет; byte);
Действие:
Устанавливает цвет символов сообщений, выводимых инструкциями write и
writein. В качестве параметра цвет может использоваться одна из перечисленных
ниже именованных констант.
Константа Цвет Номер
цвета
Black Черный 0
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
WhereX
Синтаксис:
function WhereX: byte;
Действие:
Возвращает координату х курсора в текущем окне, заданном
Процедурой
Window.
WhereY
Синтаксис:
function WhereY: byte;
Действие:
Возвращает координату y курсора в текущем окне, заданном процедурой window.
Window
Синтаксис:
procedure Window(xl,yl,x2,y2: byte);
Действие:
Определяет окно — область экрана. Параметры xi,yi задают координаты левого верхнего угла окна, а параметры х2,у2 — правого нижнего угла.