Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 12 лет назад пользователемold.sch900.ru
2 Вы научились составлять программы, с помощью которых компьютер пишет на экране монитора, отвечает на вопросы, считает, решает математические задачи. Ранее вы выводили на экран картинки, состоящие из символов клавиатуры, но это изображение не являлось графическим. Изображения из символов называют псевдографикой. В этом случае монитор работает в текстовом режиме: 80х25 символов на экране. В этой презентации познакомимся с возможностями среды языка программирования Pascal ABC для работы с графической информацией.
3 При работе в графическом режиме изображение на экране строится не из символов, а из точек – пикселов. Каждый пиксель (точка) имеет две координаты: х и у Геометрические размеры пикселя определяются разрешением монитора. Разрешение монитора задается в виде Х x Y, где X – количество возможных пикселов на экране по горизонтали, а Y – количество пикселов по вертикали. Например, известны следующие разрешения мониторов: 320х200; 640x480; 800x600; 1024x768; 1280x1024 – и т.д.
4 Даже при самом плохом разрешении экрана изображение в графическом режиме формируется с помощью графических элементов. Из такого количества «строительных кирпичиков» можно построить хорошую картинку. О том, как это делается с помощью Pascal ABC, мы сейчас и поговорим. Возможности стандартной графической библиотеки. Любая графическая картинка формируется из простых геометрических фигур. Это точки, отрезки (линии), прямоугольники, окружности и т.д. Из геометрии известно, что положение геометрического объекта и его форма задаются координатами его точек. Для того чтобы запрограммировать вывод картинки, надо научиться задавать координаты геометрических фигур, из которых она состоит. Графические координаты задают положение точки на экране монитора. Поскольку минимальным элементом, к которому имеет доступ программист, является пиксель, в качестве графических координат используют порядковые номера пикселов. Допустимый диапазон изменения графических координат составляет [0,x-1] для х - координаты и [0,y-1] для у – координаты. Началом отсчета является левый верхний угол экрана. Значения х – координаты отсчитывается слева направо, а значения у – координаты – сверху вниз.
5 1. Графические координаты принимают только целочисленные значения. 2. Графические координаты принимают значения, ограниченные как снизу (нулевым значением), так и сверху (значением разрешения экрана монитора). 3. Графическая координата у отсчитывается сверху вниз, а х - слева направо. Рисование различных геометрических фигур осуществляется с помощью специальных стандартных команд (процедур). Команды для работы в графическом режиме хранятся в библиотечном модуле GraphAbc. Модуль GraphAbc представляет собой простую графическую библиотеку и предназначен для создания графических программ. Поэтому во всех программах, которые работают в графическом режиме, ее необходимо подключать в разделе описаний с помощью зарезервированного слова Uses (подключить).
6 Рисование осуществляется в специальном графическом окне. Возможность рисовать одновременно в нескольких окнах отсутствует. Рисовать можно с помощью пера и кисти. В модуле GraphAbc с помощью команды setwindowsize(X,Y) можно задавать размеры графического окна. По умолчанию графическое окно будет принимать размеры экрана компьютера. Изучать графические возможности языка Паскаль мы будем на конкретных примерах. Нашей первой программой будет программа, которая выведет на экран монитора c помощью команды setpixel точку черным цветом пера. Пример 1. program tochka; uses graphabc; {подключение модуля GraphAbc} begin setwindowsize(640,480); { размеры графического окна} setpixel(100,120,clBlack); {устанавливает черный цвет пера и рисует точку с координатами (100,120)} end.
7 В общем виде команда setpixel выглядит так: setpixel(x:integer,y:integer,c:color) – рисует пиксел (точку) с координатами (х,у) цветом с. Стандартные цвета с задаются символическими константами: clBlack – черный clPurple – фиолетовый clWhite – белый clMaroon – темно-красный clRed – красный clNavy – темно-синий clGreen – зеленый clBrown – коричневый clBlue – синий clSkyBlue – голубой clYellow – желтый clCream – кремовый clAqua – бирюзовый clOlive – оливковый clFuchsia – сиреневый clTeal – сине-зеленый clGray – темно-серый clLime – ярко-зеленый clMoneyGreen – цвет зеленых денег clLtGray – светло-серый clDkGray – темно-серый clMedGray – серый clSilver – серебряный
8 Рисование линий средствами модуля GraphAbc. Одними точками возможности модуля GraphAbc не ограничиваются. Он умеет также рисовать геометрические фигуры – линии, прямоугольники и окружности. Программа рисования отрезка, соединяющего две точки с координатами (120,150) и (150,80) красным цветом пера, может выглядеть так: program Linii; uses graphabc; begin setwindowsize(640,480); setpencolor(clred); {устанавливает красный цвет пера} line(120,150,300,100); {рисует отрезок от точки с координатами(120,150) до точки с координатами с координатами (300,100)} end.
9 Линии можно рисовать с помощью команды line, которая имеет общий вид: Line(x1,y1,x2,y2), где (x1,y1) и (x2,y2) - координаты точек отрезка, которого соединяет линия. И вот что мы увидим на экране монитора после выполнения данной программы:
10 А теперь нарисуем треугольник, у которого все стороны разного цвета, с определенной толщиной (шириной) линии. program treugolnik; uses graphabc; begin setwindowsize(640,480); setpenwidth(5); {устанавливает ширину текущего пера. В скобках указывается количество пикселей, образующих ширину линии} setpencolor(clred); {устанавливает красный цвет пера} line(100,200,170,70); {рисует отрезок от точки с координатами (100,200)до точки с координатами с координатами (170,70)} setpencolor(clGreen); {устанавливает зеленый цвет пера} line(170,70,250,200); {рисует отрезок от точки(170,70)до точки (250,200)} setpencolor(clBlue); {устанавливает синий цвет пера} line(250,200,100,200);{рисует отрезок от точки(250,200) до точки (100,200)} {результат - треугольник со сторонами разных цветов} end.
11 После выполнения программы на экране монитора появится графическое окно со следующим рисунком: 1. Рисуя линии, можно задавать ее размер (координатами ее концов), цвет, ширину (толщину) и стиль. 2. Для задания стиля линии в модуле GraphAbc существует процедура SetPenStyle (Style), где Style - константы стилей пера. 3. Линия может быть сплошной, пунктирной, штриховой, штрихпунктирной.
12 Замкнутые фигуры можно закрашивать. Изменим нашу программу (так, чтобы она рисовала закрашенный треугольник Program treug_zakrash; uses graphabc; begin setwindowsize(640,480); clearwindow(clWhite); {очищает графическое окно белым цветом} setpenwidth(3); {устанавливает ширину текущего пера} setpenstyle(pssolid); {устанавливает стиль линии – сплошная линия} setpencolor(clgreen); {устанавливает зеленый цвет пера} line(100,200,170,70); {рисует линии зеленым цветом} line(170,70,250,200); line(250,200,100,200); floodfill(170,120,clred); {Закрашивает треугольник красным цветом} end.
13 В результате выполнения программы на экране монитора в графическом окне появится треугольник, нарисованный зеленым и закрашенный красным цветом. 1. Закрашивать можно только замкнутые фигуры, контур которых нарисован одним цветом. 2. В процедуре заливки floodfill(х,у,c) указывается координата точки (х,у), которая обязательно должна попасть во внутреннюю область закрашиваемой фигуры.
14 Рисование прямоугольников и окружностей средствами модуля GraphAbc. Прямоугольники и окружности можно рисовать с помощью команд rectangle(x1,y1,x2,y2) и circle(x,y,r) Как это можно сделать, рассмотрим на примере программы, которая рисует прямоугольник синей линией и окружность - красной. Результат выполнения программы.
15 program gemetry; uses graphabc; begin setwindowsize(640,480); setpencolor(clBlue); {устанавливает голубой цвет пера для рисования контура прямоугольника} setpenwidth(6); {устанавливает ширину пера} rectangle(50,50,250,150);{рисует прямоугольник, заданный координатами противоположных вершин} setpencolor(clred); {устанавливает красный цвет пера для рисования контура окружности} circle(350,100,60); {рисует окружность с центром в точке с координатами (350,100) и радиусом 60} end. А теперь закрасим эти фигуры и подпишем их. В этом случае программа может выглядеть так:
16 program gemetry3; uses graphabc; begin setwindowsize(640,480); clearwindow(clYellow); {устанавливает желтый цвет фона} setpencolor(clteal); {устанавливает сине-зеленый цвет пера} setpenwidth(5); {устанавливает ширину линии} setbrushcolor(clolive); {устанавливает оливковый цвет кисти} rectangle(100,100,300,200); {рисует закрашенный оливковым цветом прямоугольник} setbrushcolor(clblue); {устанавливает синий цвет кисти} circle(400,150,50); {рисует закрашенный синим цветом круг} setfontstyle(fsbold); {устанавливает стиль шрифта} setfontsize(15); {устанавливает размер шрифта} setbrushcolor(clwhite);{устанавливает белый цвет кисти} setfontcolor(clolive); {устанавливает оливковый цвет шрифта} textout(100,220,'Прямоугольник'); {делает надпись} setfontcolor(clblue); {устанавливает синий цвет шрифта} textout(380,220,'Круг'); {делает надпись} end.
17 После выполнения программы графическое окно на экране монитора будет выглядеть так
18 Из приведенного выше примера видно, что рисовать можно на «холсте» определенного цвета, который задается с помощью процедуры установки цвета графического окна clearwindow(color) Закрасить прямоугольник и круг можно, используя процедуру закраски кистью setbrushcolor (color) С помощью процедур setfontcolor, setfontstyle, setfontsize, setbrushcolor, textout - рисунки можно подписать. Итак, вы научились рисовать основные графические примитивы (геометрические фигуры), с помощью которых можно создавать любые картинки.
19 Используя выше рассмотренные команды, можно создать такую картинку: А программа, выполнив которую, получилась такая картинка, имеет следующий вид:
20 program skvoreshnik; uses graphabc; begin setwindowsize(1280,1024); clearwindow(clwhite); {устанавливает белый цвет фона} setpencolor(clteal);{устанавливает сине-зеленый цвет пера} setpenwidth(5); {устанавливает ширину линии} rectangle(100,150,250,300); {рисует прямоугольник} setbrushcolor(clyellow);{устанавливает желтый цвет кисти для закраски круга} circle(170,200,25);{рисует закрашенный желтым цветом круг} floodfill(150,160,clBrown); {закрашивает коричневым цветом прямоугольник - стену скворечника} line (100,150,175,90); {эти линии рисуют крышу} line (175,90,250,150); floodfill(175,100,clgreen); {Закрашивает треугольник (крышу)коричневым цветом} end.
21 В модуле graphabc имеется еще и другие команды рисования графических примитивов, например, команда рисования эллипса. Зная основы работы в графическом режиме, их вы сможете изучить самостоятельно.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.