Компьютерная графика в Паскале – область информатики, изучающая методы и свойства обработки изображений с помощью программно-аппаратных средств.
Представление данных на компьютере в графическом виде впервые было реализовано в середине 50-х годов. Сначала, графика применялась в научно-военных целях.
Построение графических изображений в Паскале, исследование графиков функций, одной из важных и интересных тем программирования.
Графика Паскаль.docx
Компьютерная графика в Pascal
Теоретическая часть
Компьютерная графика в Паскале – область информатики, изучающая методы
и свойства обработки изображений с помощью программноаппаратных средств.
Представление данных на компьютере в графическом виде впервые было
реализовано в середине 50х годов. Сначала, графика применялась в научно
военных целях.
Построение графических изображений в Паскале, исследование графиков
функций, одной из важных и интересных тем программирования.
Обычно экран компьютера находится в символьном режиме, а для
переключения экрана в графический режим необходимо подключение модуля
graphABC. В результате этого, экран очищается и переходит в цветной
графический режим.
При работе в графическом режиме изображение на экране строится из точек
(пиксель). Каждый пиксель на экране имеет координаты (X,Y), которые образуются
номерами столбцов (Х) и строк (Y). Нумерация начинается в верхнем левом углу.
Именно в этом углу расположен пиксель с координатами (0,0). Координата Х растет
вправо, координата Y – вниз.
Любая графическая картинка формируется из простых геометрических фигур. Это
точки, отрезки (линии), прямоугольники, окружности и т.д. Графические
координаты принимают только целочисленные значения.
Рисование различных геометрических фигур осуществляется с помощью
специальных стандартных команд (процедур). Команды для работы в графическом
режиме хранятся в библиотечном модуле GraphAbc, который описывается в разделе
описаний с помощью зарезервированного слова Uses. В модуле GraphAbc с помощью
команды setwindowsize(X,Y) можно задавать размеры графического окна.
По умолчанию графическое окно будет принимать размеры экрана компьютера. Стандартные цвета с задаются символическими константами:
черный
белый
красный
clBlack
clWhite
clRed
clGreen
clBrown
clBlue
clSkyBlu
e
clFuchsia сиреневый
голубой
зеленый
коричневый
синий
clYellow
clNavy
clMaroon
clPurple
clCream
clAqua
желтый
темносиний
темнокрасный
фиолетовый
кремовый
бирюзовый
clOlive
оливковый
clTeal
синезеленый
clGray
темносерый clMedGra
y
серый
clLime
яркозеленый clSilver
серебряный
Процедура Line(x1,y1,x2,y2) вычерчивает прямую линию из точки (х1,y1) в точку
(x2,y2) цветом установленным процедурой SetPenColor(c).
Процедура Rectangle(x1,y1,x2,y2) рисует прямоугольник, где (х1,y1) координаты
верхней левой точки, а (х2,y2) – правой нижней.
Процедура FillRect(x1,y1,x2,y2: integer) – заливает прямоугольник, заданный
координатами противоположных вершин (x1,y1) и (x2,y2), цветом текущей кисти.
Процедура Сircle(x,y,r) рисует окружность с центром в точке (х,y) и радиусом r.
Закрасить замкнутую фигуру можно с помощью процедуры FloodFill(х,у,c), (х,у) –
координата точки внутренней области фигуры, c – цвет заливки.
Процедура СlearWindow(color) устанавливает цвет графического окна. Закрасить
прямоугольник и круг можно, используя команду закраски кистью SetBrushColor
(color).
Процедуры для ввода текста: TextOut(x,y: integer; s: string) – выводит строку s в позицию (x,y) (точка (x,y)
задает верхний левый угол прямоугольника, который будет содержать текст из
строки s);
SetFontSize(size: integer) – устанавливает размер текущего шрифта в пикселях;
SetFontColor(c: Color) – устанавливает цвет текущего шрифта;
SetFontStyle(fs: integer) – устанавливает стиль текущего шрифта.
Практическая часть
А теперь попробуем нарисовать домик вместе.
Пример программы рисования домика:
Program dom;
Uses graphABC;
Begin
line(100,100,150,50);
line(150,50,200,100);
line(200,100,100,100);
floodfill(120,90,clgreen);
SetBrushcolor(clred);
rectangle(115,100,185,150);
SetBrushcolor(clblue);
circle(150,75,5);
SetBrushcolor(clgray);
rectangle(125,120,140,140)
;
«название программы (комментарий)»
– переключаем экран в графический режим
– команда начала программы
«рисуем крышу»
– рисуем линию с координатами (100,100,150,50)
– рисуем линию с координатами (150,50,200,100)
– рисуем линию с координатами (150,50,200,100)
– заливаем область крыши зеленым цветом
«рисуем фасад дома»
– устанавливаем цвет кисти красный
– рисуем прямоугольник с координатами
(115,100,185,150)
«рисуем окно»
– устанавливаем цвет кисти синий
– рисуем окружность с координатами (150,75,5)
«рисуем дверь»
– устанавливаем цвет кисти темносерый
– рисуем прямоугольник с координатами SetBrushcolor(clred);
textOut(150,110,'Дом');
end.
(125,120,140,140)
«пишем текст»
– устанавливаем цвет кисти красный
– выводим текст «дом» на месте координат (150,110)
– конец программы
Измените размер домика и поменяйте цвета самостоятельно.
Самостоятельная работа (закрепление изученного материала)
Напишите программу, рисующую снеговика и закрасьте его.
Какие процедуры вам для этого понадобятся?
Пример программы, рисующую снеговика.
Program snegovik;
uses graphABC;
begin
FloodFill(50, 80, clYellow);
ellipse(120, 350, 280, 480);
circle(200, 300, 60);
circle(200, 210, 40);
line(170, 120, 230, 120);
line(160, 180, 240, 180);
line(170, 120, 160, 180);
line(230, 120, 240, 180);
floodfill(200, 173, clblack);
floodfill(200, 123, clblack);
setbrushcolor(clblack);
circle(190, 200, 5);
circle(210, 200, 5);
line(200, 210, 220, 220);
line(200, 220, 220, 220);
line(200, 210, 200, 220);
floodfill(204, 214, clblack);
setpenwidth(5);
line(210, 230, 190, 230);
line(70, 320, 170, 250); line(230, 250, 330, 300);
line(327, 450, 327, 200);
circle(200, 265, 10);
circle(200, 300, 10);
circle(200, 338, 10);
circle(200, 390, 10);
circle(200, 428, 10);
circle(200, 460, 10);
end.
Домашнее задание
Написать в тетради программу, рисующую новогоднюю ёлку.
Компьютерная графика в Паскале
Компьютерная графика в Паскале
Компьютерная графика в Паскале
Компьютерная графика в Паскале
Компьютерная графика в Паскале
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.