Модуль Graph обладает достаточно большим количеством функций и процедур, благодаря которым осуществляется работа с точками и графическими примитивами Паскаль.
Остановимся подробнее на некоторых из них:
Процедуры и функции для работы с точками и графическими примитивами Паскаль:
1) Процедура
putpixel(x1,y1,c)
осуществляет вывод на дисплей точки, имеющей цвет c и координаты x1 и y1.
2) Процедура
line(x1,y1,x2,y2)
обеспечивает рисование отрезка текущего цвета и типа, имеющего концы в точках с координатами (x1,y1) и (x2,y2).
3) Процедура
setlinestyle(< вид линии >,< размер >,< толщина >)
устанавливает тип линии.
4) Процедура
lineto(x1,y1)
обеспечивает рисование отрезка текущего цвета и типа, начиная с исходной позиции курсора и заканчивая точкой с координатами (x1,y1).
5) Функции
getx и gety
позволяют получить информацию об исходном размещении графического курсора.
Уроки программирования на языке Pascal. Вычисление площади треугольника по координатам вершин
6) Чтобы расположить графический курсор в точку с желаемыми координатами, пользуются процедурой
moveto(x1,y1);
7) Процедура
rectangle(x1,y1,x2,y2)
изображает прямоугольник линией текущего цвета и типа, начиная с верхней левой точки с координатами (x1,y1) и заканчивая нижней левой точкой с координатами (x2,y2);
8) Процедура
bar(x1,y1,x2,y2)
эквивалентна процедуре rectangle, но с той особенностью, что изображаемый прямоугольник заполнится текущим узором.
9) Процедура
setfillstyle(< тип узора >,< цвет >)
обеспечивает установку типа и цвет узора.
10) Процедура
bar3d(x1,y1,x2,y2,z,t)
осуществляет построение параллелепипеда текущего цвета с окрашенной передней гранью. Здесь под параметромz понимается глубина параллелепипеда, а логический параметр t проверяет, рисовать ли (значение true) или нет (значение false) переднюю грань.
11) Процедура
circle(x1,y1,r)
изображает окружность с текущим цветом с центром в точке, имеющей координаты (x1,y1), и радиусом r.
12) Процедура
ellipse(x1,y1,a,b,xr,yr)
рисует эллипс, либо его дугу с центром в точке, имеющей координаты (x1,y1). Параметры a и b устанавливают значения в радианах соответственного начального и конечного углов, которые ограничивают дугу, а параметры xr иyr являются большим и малым радиусом.
13) Процедура
arc(x1,y1,a,b,r)
обеспечивает отрисовку дуги окружности с радиусом r, центр которой находится в точке, имеющей координаты (x1,y1), из угла a, выраженного в радианах, в угол b.
14) Процедура
fillellipse(x,y,xr,yr)
осуществляет рисование заполненного текущим узором эллипса текущего цвета.
15) Процедура
pieslice(x1,y1,a,b,r)
изображает набитый текущим узором сектор круга с текущим цветом.
16) Процедура
sector(x,y,a,b,xr,yr)
рисует сектор эллипса с текущим цветом, заполняя его текущим узором.
17) Процедура
Обучение программированию на Pascal ABC Часть 2 Как написать программу по вычислению логарифмов
floodfill(x1,y1:integer; bord:word)
производит заполнение произвольной замкнутой фигуры текущим стилем и цветом заполнения. Координаты точки (x1,y1) показывают, с какой именно точки осуществиться заливка. Если данная точка располагается в замкнутой фигуре, то окрашивается ее внутренняя область. В случае незамкнутой фигуры произойдет казус, и заливка будет произведена по всему дисплею. За параметром bord закреплено определение цвета граничной линии.
Источник: kvodo.ru
Построение системы координат.
Процедуру SetViewPort удобно использовать для построения системы координат на экране. Эту систему координат можно в дальнейшем использовать для построения графика функции.
Построение системы координат с помощью процедуры SetViewPort.
Program Graphika26; Uses Graph; Procedure Graphinterface; Var gd, gm, error:Integer; s:String; Begin gd:=detect; s:=»; Initgraph(gd,gm,s); error:=GraphResult; if error<>GrOk then begin writeln(GraphErrorMsg(Error)); Halt(error) end end; begin Graphinterface; setviewport(getmaxx div 2, getmaxy div 2, getmaxx, getmaxy,clipoff); setcolor(5); setlinestyle(0,0,3); line(-300,0,300,0); line(0,-300,0,300); line(300,0,270,-10); line(300,0,270,10); line(0,-300,-10,-270); line(0,-300,10,-270); readln; closegraph end.
В строке №19 записываем процедуру SetViewPort, которая строит на экране невидимое окно.
Координаты левого верхнего угла этого окна совпадают с серединой экрана (getmaxx div 2, getmaxy div 2). Координаты правого нижнего угла окна совпадают с правым нижним углом всего экрана. На рис. снизу представлено расположение окна (ABCD), построенного с помощью процедуры SetViewPort. Левый верхний угол окна (точка B) имеет координаты (getmaxx div 2, getmaxy div 2) и совпадает с серединой экрана. Правый нижний угол окна имеет координаты (getmaxx, getmaxy) и совпадает с правым нижним углом экрана.
5-й параметр процедуры SetViewPort имеет значение ClipOff, т.е. элементы изображений, выходящие за пределы окна, не будут отсекаться.
Строка №20 и №21. Устанавливаем цвет, тип и толщину линий.
Строка №22. Рисуем линию. Так как начало координат теперь находится в левом верхнем углу окна (в точке B), нам необходимо использовать отрицательные координаты при построении изображений, находящихся левее либо выше окна ABCD. На рис. снизу показаны линии, построенные с помощью процедуры Line.
Линия EF построена с помощью процедуры Line в строке №22.
Линия GH построена с помощью процедуры Line в строке №23.
Так как точка B имеет координаты (0,0), точка E будет иметь координаты (-300,0), точка F – (300,0), точка G – (0,-300), точка H – (300,0). Таким образом, на данном этапе необходимо запомнить, что изображение, находящееся левее, либо выше окна, построенного с помощью процедуры SetViewPort, должно иметь отрицательные координаты.
Строка №24-№27. Строим стрелочки, указывающие направление осей. На рис. снизу линия FJ построена с помощью процедуры Line в строке №24. Точка F имеет координаты (300,0), точка J – (270,-10).
Источник: mojainformatika.ru
Система координат в Паскале
Компьютерная графика в Паскале — область информатики, изучающая методы и свойства обработки изображений с помощью программно-аппаратных средств.
Представление данных на компьютере в графическом виде впервые было реализовано в середине 50-х годов. Сначала, графика применялась в научно-военных целях. Сейчас эта область детально изучается в высшей технической школе.
Построение графических изображений в Паскале, исследование графиков функций, является одной из важных и интересных тем программирования.
Обычно экран компьютера находится в символьном режиме, а для переключения экрана в графический режим необходимо подключение модуля graphABC. В результате этого, экран очищается и переходит в цветной графический режим.
Основные цвета в ПаскалеABC.
clMoneyGreen – цвет зеленых денег
Система координат в Паскале.
Операторы используемые в графике:
LineTo(x,y); — рисует отрезок от текущего положения пера до точки (x,y); координаты пера при этом также становятся равными (x,y).
Line(x1,y1,x2,y2); — рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2).
Circle(x,y,r); — рисует окружность с центром в точке (x,y) и радиусом r.
Rectangle(x1,y1,x2,y2); — рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2).
FloodFill(x,y,color); — заливает область одного цвета цветом color, начиная с точки (x,y).
SetWindowSize(x,y); — устанавливает ширину и высоту графического окна.
SetPixel(x,y,color); — высвечивает точку на экране.
ClearWindow; — очищает графическое окно белым цветом.
ClearWindow(color); — очищает графическое окно указанным цветом.
SetPixel(x,y,color); — Закрашивает один пиксел с координатами (x,y) цветом color
SetPenColor(color); — устанавливает цвет пера, задаваемый параметром color.
Цвет также можно задать с помощью палитры RGB для этого вместо color пишется rgb(r,g,b): где r,b,g — числа от 0 до 255.
SetPenWidth(n); — устанавливает ширину (толщину) пера, равную n пикселям.
SetBrushColor(color); — устанавливает цвет кисти, заливка кистью распространяется на замкнутый контур, описание которого следует за процедурой установки цвета кисти.
Ellipse(x1,y1,x2,y2); — рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2).
SetFontName(‘name’);- устанавливает наименование шрифта.
SetFontColor(color); — устанавливает цвет шрифта.
SetFontSize(sz); — устанавливает размер шрифта в пунктах.
SetFontStyle(fs); — устанавливает стиль шрифта.
Стиль шрифта:
fsBoldItalic – жирный наклонный;
fsBoldUnderline – жирный подчеркнутый;
fsItalicUnderline – наклонный подчеркнутый;
fsBoldItalicUnderline – жирный наклонный подчеркнутый.
Задача 1: нарисовать
Line (200,200,400,200); LineTO (300,140); lineTO (200,200);
Line (200,200,400,200); LineTo (300,260); LineTo (200,200);
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Рекомендуем для прочтения:
Метод валентных связей Метод валентных связей (МВС) описывает образование ковалентных связей в молекулах с позиций квантовой механики.
Микроклимат производственных помещений Микроклимат производственных помещений – это климат внутренней среды данных помещений.
Системы теплоснабжения. Классификация систем теплоснабжения Различают два вида теплоснабжения – централизованное и децентрализованное.
Способы прекращения горения и основные огнетушащие вещества Существует четыре основных способа прекращения горения: 1. Охлаждение зоны горения или горючих веществ. Приемы прекращения горения и.
Нормальное и возбужденное состояния атомов. Графическое изображение электронных формул атомов элементов Квантовое состояние с наименьшей энергией атома называется нормальным.
Источник: studopedia.ru