Графика в Pascal Графика в Pascal
Модуль GraphABC Модуль GraphABC
Работа с графикой. После запуска PascalABC, по умолчанию, запускается текстовый режим. Для работы с графикой служит отдельное графическое окно. Чтобы его открыть, необходимо подключить модуль GraphABC. В этом модуле содержится обширный набор процедур и функций, предназначенных для работы с графическим экраном, а также некоторые встроенные константы и переменные, которые могут быть использованы в программах с графикой. С их помощью можно создавать разнообразные графические изображения и сопровождать их текстовыми надписями. Подключение осуществляется в разделе описаний. Формат подключения модуля GraphABC: uses GraphABC;
Начало координат графического окна модуля находится в верхнем левом углу. Ось x направлена вправо, а ось y - вниз. Координаты исчисляются в пикселях. Все команды библиотеки GraphABC являются подпрограммами и описаны в виде процедур и функций. х у (630,0) (320,175) (0,349)(639,349) 0.0
Образ любого изображения, высвечиваемого на экране монитора с помощью совокупности пикселей, хранится в специальной области памяти – видеопамяти. Реализация графического режима в ЭВМ обеспечивается с помощью видеоадаптера. Работу графического адаптера поддерживает драйвер адаптера. Для того, что бы команда выполнилась необходимо указать команду и задать значения параметрам.
Некоторые команды библиотеки GraphABC Line(x1,y1,x2,y2) Рисует отрезок из точки с координатами (x1,y1) в точку с координатами (x2,y2) LineTo(x, y) Рисует отрезок из текущей точки в точку с координатами (x, y) (соответствует команде сместиться_в с опущенным пером для исполнителя Чертежник) Rectangle(x1,y1,x2,y2) Рисует контур прямоугольника со сторонами параллельными сторонам экрана. Точки с координатами (x1, y1) и (x2, y2) определяют диагональные вершины прямоугольника. RoundRect(x1,y1,x2,y2,w,h) Рисует прямоугольник со скругленными краями; (x1,y1) и (x2,y2) задают пару противоположных вершин, а w и h – ширину и высоту эллипса, используемого для скругления краев. FillRect(x1,y1,x2,y2); Заливает прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2), цветом текущей кисти. MoveTo(x, y) Переводит текущую точку в положение новое положение, в точку с координатами (x, y) (соответствует команде сместиться_в с поднятым пером для исполнителя Чертежник) TextOut (x, y, text) Выводит Text на экран. Начало текста в точке с координатами (x,y) SetPixel(x,y,color)Закрашивает цветом color точку с координатами (x, y) SetPenColor(color)Задает цвет рисования линий. Параметр color – число в промежутке от 0 до
Некоторые команды библиотеки GraphABC. Раздаточные листы Модуль GraphABC содержит константы и функции для работы с цветами. Тип ColorType, описывающий цвет, определен следующим образом: type ColorType=integer; Стандартные цвета задаются символическими константами: clBlack – черный clPurple – фиолетовый clWhite – белый clMaroon – темно-красный clRed – красный clNavy – темно-синий clGreen – зеленый clBrown – коричневый clBlue – синий clSkyBlue – голубой clYellow – желтый clCream – кремовый clAqua – бирюзовый clOlive – оливковый clFuchsia – сиреневый clTeal – сине-зеленый clGray – темно-серый clLime – ярко-зеленый clMoneyGreen – цвет зеленых денег clLtGray – светло-серый clDkGray – темно-серый clMedGray – серый clSilver – серебристый
Для управления цветом и фоном используются следующие процедуры и функции: function RGB(r,g,b: integer): ColorType; - возвращает целое значение, являющееся кодом цвета, который содержит красную, зеленую и синюю составляющие u1089 с интенсивностями R,G и B соответственно (R,G и B –целые в диапазоне от 0 до 255, причем, 0 соответствует минимальной интенсивности, 255 – максимальной). function GetRed(color: ColorType): integer; - выделяет красный цвет интенсивностью (целое число от 0 до 255); function GetGreen(color: ColorType): integer; - выделяет зеленый цвет интенсивностью (целое число от 0 до 255); function GetBlue(color: ColorType): integer; - выделяет синий цвет интенсивностью (целое число от 0 до 255).
Практическое задание
В тетрадь По данным программы «Домик» записать в тетрадь общие процедуры и функции рисования: 1. Линии 2. Прямоугольника 3.Круг, окружность 4. Заливка цветом 5. Написание текста 6. Цвет текста