Основные процедуры и функции графики. Занятие 3..pptx
- Количество слайдов: 21
Основные процедуры и функции графики
Функция Get. Pixel. Возвращает значение типа Word, Функции Get. X и Get. Y. Возвращают значения типа integer содержащее цвет пикселя с указанными координатами. Заголовок: Get. Pixel(X, Y: Integer): Word; Здесь X, Y - координаты пикселя.
Процедура Rectangle. Вычерчивает прямоугольник с указанными координатами углов. Заголовок: Rectangle(X 1, Y 1, X 2, Y 2: Integer); Здесь X 1. . . Y 2 - координаты левого верхнего и правого нижнего углов прямоугольника. Прямоугольник вычерчивается с использованием текущего цвета и текущего стиля линий.
Процедура Bar. Заполняет прямоугольную область экрана. Заголовок: Bar(X 1, Y 1, X 2, Y 2: Integer); Здесь XJ. . . Y 2 - координаты левого верхнего (X 1, Y 1) и правого нижнего (Х 2, Y 2) углов закрашиваемой области. Процедура закрашивает прямоугольник текущим образцом узора и текущим цветом, которые устанавливаются процедурой Set. Fill. Style.
Процедура Ваr 3 D. Вычерчивает трехмерное изображение параллелепипеда и закрашивает его переднюю грань. Заголовок: Ваr 3 D (X 1, Y 1, X 2, Y 2, Depth: Integer; Top: Boolean); Здесь X 1. . . Y 2 - координаты левого верхнего (X 1, Y 1) и правого нижнего (Х 2, Y 2) углов передней грани; Depth - третье измерение трехмерного изображения ( «глубина» ) в пикселях; Тор - способ изображения верхней грани.
{Столбик с верхней гранью: } Bar 3 D (80, 100, 120, 180, 15, Top. On); {Столбик без верхней грани: } Ваr 3 D (150, 190, 180, 15, Top. Off); {Этот столбик "стоит" на следующем и прозрачен: } Bar 3 D (230, 50, 250, 15, Top. On); Bar 3 D (220, 150, 260, 180, 15, Top. On);
В качестве значения параметра Top может использоваться одна из следующих констант, определенных в модуле Graph: Top. On = True; Top. Off = False; При вычерчивании используется текущий стиль линий (Set. Line. Style) и текущий цвет (Set. Color). Передняя грань заливается текущим стилем заполнения (Set. Fill. Style). Процедура обычно применяется при построении столбиковых диаграмм. Следует учесть, что параллелепипед «прозрачен» , т. е. за его незакрашенными гранями могут быть видны другие элементы изображения.
Процедура Draw. Poly. Вычерчивает произвольную ломаную линию, заданную координатами точек излома. Draw. Poly(N: Word; var Points) Здесь N - количество точек излома, включая обе крайние точки; Points - Массив типа Point. Type, содержащая координаты точек излома. Координаты точек излома задаются парой значений типа Word: первое определяет горизонтальную, второе - вертикальную координаты. Для них можно использовать следующий определенный в модуле тип: type Point. Type = record х, у : Word end; При вычерчивании используется текущий цвет и текущий стиль линий.
Процедура Fill Poly. Обводит линией и закрашивает замкнутый многоугольник. Заголовок: Fill. Poly(N: Word; var Coords); Здесь N - количество вершин замкнутого многоугольника; Coords - массив типа Point. Type, содержащая координаты вершин. Координаты вершин задаются парой значений типа Integer: первое определяет горизонтальную, второе - вертикальную координаты. Для них можно использовать следующий определенный в модуле тип: type Point. Type = record х, у : Integer end; Стиль и цвет линии контура задаются процедурами Set. Line. Style и Set. Color, тип и цвет заливки - процедурой Set. Fill. Style.
Процедура Circle. Вычерчивает окружность. Заголовок: Circle(X, Y: Integer; R: Word); Здесь. X, Y- координаты центра; R - радиус в пикселях. Окружность выводится текущим цветом. Толщина линии устанавливается текущим стилем, вид линии всегда Solid. Ln (сплошная).
Процедура Arc. Чертит дугу окружности. Заголовок: Arc(X, Y: Integer; Beg. A, End. A, R: Word); Здесь X, Y - координаты центра; Beg. A, End. A - соответственно начальный и конечный углы дуги в градусах; R - радиус. Углы отсчитываются против часовой стрелки и указываются в градусах. Нулевой угол соответствует горизонтальному направлению вектора слева направо. Если задать значения начального угла 0 и конечного - 359, то будет выведена полная окружность
Процедура Ellipse. Вычерчивает эллипсную дугу. Заголовок: Ellipse(X, Y: Integer; Beg. A, End. A, RX, RY: Word); Здесь X, Y - координаты центра; Beg. A, End. A - соответственно начальный и конечный углы дуги в градусах; RX, RY- горизонтальный и вертикальный радиусы эллипса в пикселях.
Процедура Fill. Ellipse. Обводит линией и заполняет эллипс. Заголовок: Fill. Ellipse(X, Y, RX, RY: Integer); Здесь X, Y - координаты центра; RX, RY- горизонтальный и вертикальный радиусы эллипса в пикселях. Эллипс обводится линией, заданной процедурами Set. Line. Style и Set. Color, и заполняется с использованием параметров, установленных процедурой Set. Fill. Style.
Процедура Sector. Вычерчивает и заполняет эллипсный сектор. Заголовок: Sector(X, Y: Integer; Beg. A, End. A, RX, RY: Word); Здесь Beg. A, End. A - соответственно начальный и конечный углы эллипсного сектора. Остальные параметры обращения аналогичны параметрам процедуры Fill. Ellipse.
Процедура Pie. Slice. Вычерчивает и заполняет сектор окружности. Заголовок: Pie. Slice(X, Y: Integer; Beg. A, End. A, R: Word); В отличие от процедуры Sector, указывается лишь один горизонтальный радиус R, остальные параметры аналогичны параметрам процедуры Sector. Сектор обводится линией, заданной процедурами Set. Line. Style и Set. Color, и заполняется с помощью параметров, определенных процедурой Set. Fill. Style. Процедуру удобно использовать при построении круговых диаграмм
Процедура Set. View. Port. Устанавливает прямоугольное окно на графическом экране. Заголовок: Set. View. Port(XI, Y 1, X 2, Y 2: Integer; Clip. On: Boolean); Здесь X 1. . . Y 2 - координаты левого верхнего (XI, Y 1) и правого нижнего (X 2, Y 2) углов окна; СНр. Оп - выражение типа Boolean, определяющее «отсечку» не умещающихся в окне элементов изображения.
Координаты окна всегда задаются относительно левого верхнего угла экрана. Если параметр Clip. On имеет значение True, элементы изображения, не умещающиеся в пределах окна, отсекаются, в противном случае границы окна игнорируются. Для управления этим параметром можно использовать такие определенные в модуле константы: const Clip. On = True; {Включить отсечку} Clip. Off = False; {He включать отсечку}
Следующий пример иллюстрирует действие параметра СНр. Оп. Программа строит два прямоугольных окна с разными значениями параметра и выводит в них несколько окружностей. Для большей наглядности окна обводятся рамками:
Домашнее задание: Составить программу, в которой квадрат изменяет свои размеры от минимального до максимального и наоборот, до нажатия любой клавиши. В крайних точках контуры фигур меняют свои цвета.
Практическая работа: Нарисовать окружность, состоящую из системы вложенных один в другой кругов различных цветов. Заставить цветные полоски плавно смещаться к центру.