Операторы графики
Содержание Открытие и закрытие графического режима Открытие и закрытие графического режима Графические операторы Обобщение (основные шаги при написании графической программы)Обобщение (основные шаги при написании графической программы) Создание рисунков (примеры)
Графические операторы Операторы рисования графических фигур Операторы работы с цветом
Рисование графических фигур PutPixel(X, Y, Color); - выводит точку с координатами (X,Y) и цветом Color. Color Line(X1, Y1, X2, Y2); - вычерчивает линию, с началом в (X1,Y1) и концом в (X2,Y2). Rectangle(X1, Y1, X2, Y2); - вычерчивание прямоугольника. (X1,Y1)-левый верхний угол; (X2,Y2)-правый нижний угол. Circle(X, Y, R); - вычерчивание окружности с центром в (X,Y) и радиусом R. Ellipse(X, Y, UgA, UgB, Rx, Ry); - вычерчивание дуги эллипса.(X,Y)-центр эллипса; UgA,UgB – начальные и конечные углы (против часовой стрелки); Rx,Ry – горизонтальные и вертикальные радиусы эллипса.
Операторы управления цветом SetColor(Color); SetColor(Color); - установка цвета выводимых линий и фигур. SetBkColor(Color); SetBkColor(Color); - установка цвета фона, вызывает немедленное изменение цвета графического экрана. SetFillStyle(T, Color); SetFillStyle(T, Color); - устанавливает стиль: тип T и цвет Color закрашивания какой-то замкнутой области. T может принимать значения: 0 – закрашивание цветом фона 1 – сплошное заполнение 2 – закрашивание линиями FloodFill(X, Y, BColor); FloodFill(X, Y, BColor); - заполняет произвольную замкнутую фигуру, где (X,Y)-координаты любой точки внутри фигуры; BColor – цвет граничных линий фигуры.
Вид экрана в графическом режиме
Возможные значения переменной Color 0 – черный 1 – синий 2 – зеленый 3 – серый 4 – красный 5 – малиновый 6 – коричневый 7 – светло-серый 8 – темно-серый 9 – светло-синий 10 – светло-зеленый 11 – светло-бирюзовый 12 – светло-красный 13 – светло-малиновый 14 – желтый 15 - белый
При запуске программы из среды Pascal и после ее завершения экран находится в текстовом режиме. Для использования графических средств необходимо подключить библиотеку Graph и инициализировать графический режим.подключить библиотеку Graphинициализировать графический режим. В графическом режиме экран рассматривается как совокупность близкорасположенных точек (пикселов), светимостью которых можно управлять с помощью программы. Количество точек по оси X и по оси Y (координат экрана) зависит от разрешения, которое поддерживает графический драйвер. (координат экрана)
Инициализация графического режима Для инициализации графического режима используется процедура InitGraph: InitGraph (D, M, ) ; D – тип графического адаптера. M – режим работы графического адаптера. – в апострофах указывается путь к файлу с графическим драйвером, при условии, что он отсутствует в текущем каталоге, иначе в апострофах ничего не пишется. – в апострофах указывается путь к файлу с графическим драйвером, при условии, что он отсутствует в текущем каталоге, иначе в апострофах ничего не пишется. Для того, чтобы программа могла работать с любым адаптером следует тип драйвера определять автоматически: D:=Detect; InitGraph (D, M, ); При этом устанавливается графический режим работы экрана, а переменные D и M будут содержать значения, определяющие тип драйвера и режим его работы.
Библиотека GRAPH Эта библиотека подключается также, как и библиотека CRT (после заголовка программы с помощью команды USES): USES GRAPH; Библиотека Graph позволяет: открыть и закрыть графический режим закрыть изображать на экране любые простые фигуры (точка, прямая, многоугольники) работать с цветом, т.е. рисовать разным цветом и закрашивать замкнутые фигуры
Закрытие графического режима После того, как вы поработали с графикой (нарисовали какую-нибудь картинку), вам необходимо вернуться в текстовый режим, т.е. закрыть графический режим. Для этого используется процедура: CloseGraph; Совет: лучше всего использовать эту процедуру в конце программы, после того, как вы посмотрели результат своей программы на экране, перед End.
Рассмотрим два примера Вывод на экран точки, линии, прямоугольника, окружности и эллипса Вывод на экран точки, линии, прямоугольника, окружности и эллипса Рисует домик на лужайке Рисует домик на лужайке
Программа поочередно выводит на экран точку, линию, прямоугольник, окружность, эллипс. Program figure; Uses CRT,Graph; Var D, M: Integer; Begin D:=Detect; InitGraph(D, M, ''); SetColor(10); PutPixel(5,239,10); Line(10,10,10,470); Rectangle(40,100,100,378); Circle(310,239,150); Ellipse(555,239,0,360,80,50); ReadKey; CloseGraph; End.
Программа рисует домик на лужайке Program picture; Uses CRT, GRAPH; Var D, M: Integer; Begin D:=Detect; InitGraph(D, M, ''); {рисуем небо} SetColor(9); SetFillStyle(1,9); Rectangle(0,0,639,239); FloodFill(100,100,9); {рисуем лужайку} SetColor(2); SetFillStyle(1,2); Rectangle(0,239,639,479); FloodFill(100,300,2); {рисуем дом} SetColor(6); SetFillStyle(1,6); Rectangle(230,170,408,400); FloodFill(260,200,6); {рисуем окно} SetColor(9); SetFillStyle(1,9); Rectangle(277,220,360,300); FloodFill(300,280,9); {рисуем крышу} Setcolor(4); Line(190,170,448,170); Line(190,170,319,70); Line(319,70,448,170); SetFillStyle(1,4); FloodFill(319,100,4); ReadKey; CloseGraph; End.
Последовательность действий для написания графической программы Пишем заголовок программы: program … Подключаем библиотеки: uses crt,graph Описываем переменные: Var D,M: Integer Начало программы: Begin Автоопределение типа и режима графического адаптера: D:=Detect; Инициализация графики (подключение графики): InitGraph(D,M,); Графические операторы (процесс рисования). Задержка экрана: ReadKey; или Readln; Закрытие графики: CloseGraph; Конец программы: End.