
- •Графический режим
- •Процедура инициализации графического режима InitGraph
- •InitGraph (var GraphDriver : Integer; {тип адаптера}
- •Var GraphMode : Integer; {режим графики}
- •Процедура закрытия графического режима CloseGraph
- •Обработка ошибок инициализации
- •Процедура DetectGraph
- •Очистка экрана
- •Координаты устройства и мировые координаты
- •Управление «текущим указателем»
- •Рисование графических примитивов и фигур Линии и их стили
- •Окружности, эллипсы и дуги
- •Построение прямоугольников и ломаных
- •Заливка областей изображения
- •Опрос и установка цветов пера и фона
- •Вывод текста
Управление «текущим указателем»
«Текущий указатель» или графический курсор выполняет те же функции, что и курсор в текстовом режиме, однако является невидимым. Положение курсора указывает на начальные координаты изображения графического примитива, выводимого «от текущей позиции». Для перемещения курсора используются процедуры:
MoveTo (x, y : Integer) – перемещает курсор в точку экрана с координатами (x,y);
MoveRel (dx, dy : Integer) – перемещает курсор наdxпикселов по горизонтали и соответственно наdyпо вертикали относительно последнего положения курсора. Положительныеdx, dy увеличивают координаты курсора, отрицательные – уменьшают.
Для определения текущего положения графического курсора используются функции
GetX : Integer;
GetY : Integer; - возвращают положение указателя соответственно по оси Х и по осиY.
Рисование графических примитивов и фигур Линии и их стили
Процедура вывода линии на экран (в текущем цвете и стиле): Line (x1, y1, x2, y2 : Integer).Задаются координаты начала (x1,y1) и конца (x2,y2) линии.
LineTo (x, y : Integer)– рисование отрезка из текущей точки в точку с заданными координатами (x,y).
LineRel (dx, dy : Integer)– рисование отрезка относительно текущей точки. Положение текущего указателя принимается за начало «временных» координат (0, 0) и указывается местоположение конца отрезка в них.
В Паскале можно управлять стилем линий: задавать толщину, тип. Для этого определены следующие типы и константы стилей изображения линий:
Type
LineSettingType = record
LineStyle : Word; {стиль линии}
Pattern : Word; {шаблон стиля}
Thickness : Word; {толщина}
End;
Const
{для значений стиля линии}
SolidLn = 0; {сплошная}
DottedLn = 1; {точечная}
CenterLn = 2; {штрихпунктирная}
DashedLn = 3; {пунктирная}
UserBitLn = 4; {тип линии задан явно шаблоном}
{для значений толщины линии}
NormWidth = 1; {толщина в один пиксел}
ThickWidth = 3; {толщина в 3 пиксела}
Для установки параметров линии используется процедура SetLineStyle (LineStyle, Pattern, Thickness : Word).
Окружности, эллипсы и дуги
Для изображения окружности используется процедура
Circle (x, y : Integer; Radius : Word),где (x,y) – координаты центра окружности,Radius– ее радиус.
В модуле Graphпредставлены процедуры рисования эллипсов, дуг и секторов, и процедура, позволяющая рисовать сектор, залитый по заданному шаблону. Все они запрашивают параметрыStartAngleиEndAngle, которые обозначают начальный и конечный угол дуги. Положительное направление оси Х принято за 00, отрицательное направление осиY– за 900, т.е. углы отмеряются от положительного направления оси Х против часовой стрелки. Все значения этих параметров даются в градусах.
Arc( x, y : Integer; StartAngle, EndAngle, Radius : Word)– рисование дуги радиусаRadiusиз центра с координатами (x,y) от углаStartAngleдоEndAngle.
Ellipse (x, y : Integer; StartAngle, EndAngle, RadiusX, RadiusY : Word)– рисование эллиптической дуги с аналогичными параметрами, гдеRadiusX,RadiusY– размеры горизонтальной и вертикальной полуосей соответственно.