Смекни!
smekni.com

Графика Турбо-Паскаля. Динамические изображения (стр. 3 из 5)

Описание: SetLineStyle (тип_строки, образец, толщина).

Примечания: Данная процедура влияет на все типы линий, вычерчиваемых процедурами Line, LineTo, Rectangle, DrawPoly, Arc, Circle и др.

Могут вычерчиваться непрерывные, пунктирные линии, линии, состоящие из точек или точек и тире.

Описаны следующие константы типа линии:

SolidLn=0 – непрерывная линия;

DottedLn=1 – линия из точек;

CenterLn=2 – линия из точек и тире;

DashedLn=3 – пунктирная линия;

UserDilLn=4 – тип, определяемый пользователем.

Описаны следующие константы для толщины линий:

NormWidth=1 – нормальная толщина;

ThickWidth=3 – жирная линия.

Процедура FloodFill

Функция: Заполняет ограниченную область, используя текущий заполнитель.

Описание: FloodFill (x, y, граница).

Примечания: Эта процедура используется для заполнения замкнутой области (для растровых устройств). Точка (x, y) является внутренней точкой заполняемой области. Для заполнения области, ограниченной цветом, который определяет параметр "граница", используется текущий образец закраски. Если точка (x, y) находится внутри замкнутой области, то заполняется внутренняя область. Если эта точка находится вне замкнутой области, то заполняется ее внешняя часть (поле экрана, не входящее в область).

1.3.2 Точки на экране

Процедура PutPixel

Рисует точку на экране в заданном месте заданным цветом.

Описание: PutPixel (x, y, цвет).

Примечания: Выводит точку на экране с координатами (x, y) заданным цветом (параметр "цвет").

1.3.3 Линии и прямоугольники

Для вывода линий и прямоугольников в модуле Graph имеются несколько процедур.

Процедура Line

Функция: рисует прямую линию из точки (x1, y1) в точку (x2, y2).

Описание: Line (x1, y1, x2, y2).

Примечания: Толщина и тип линии задаются процедурой SetLineStyle, а цвет линии устанавливается процедурой SetColor.

Процедура Rectangle

Функция: рисует прямоугольник, используя текущий цвет и тип строки.

Описание: Rectangle (x1, y1, x2, y2).

Примечания: Точка с координатами (x1, y1) определяет верхний левый угол прямоугольника, а точка с координатами (x2, y2) определяет нижний правый угол. При вычерчивании прямоугольника используются текущий тип строки и цвет, которые устанавливаются процедурой SetLineStyle.

Процедура Bar

Функция: рисует закрашенный прямоугольник.

Описание: Bar (x1, y1, x2, y2).

Описание: Рисуется закрашенный столбец, что можно использовать, например, в гистограммах. При этом используется образец и цвет закраски с помощью процедур SetFilllStyle и SetFillPattern.

Процедура Bar3D

Описание: Bar3D(x1, y1, x2, y2: Integer, глубина: Word;, вершина: Boolean).

Примечания: Рисуется заполненный трехмерный параллелепипед. При этом используется тип и цвет закраски, заданные с помощью процедур SetFillStyle и SetFillPattern. Трехмерный контур параллелепипеда вычерчивается тем цветом и типом линии, которые установлены процедурами SetLineStyleи SetColor, Параметр "глубина" представляет собой число элементов изображения, задающих глубину трехмерного контура. Если переменная, указанная в качестве параметра "вершина" принимает истинное значение (True), то для параллелепипеда рисуется трехмерная вершина, в противном случае вершина не рисуется (что позволяет рисовать несколько параллелепипедов, расположенных один на другом). Типичный параметр глубины можно вычислить, взяв за основу 25% ширины параллелепипеда:

Bar3D (x1, y1, x2, y2, (x2-x1) div 4, TopOn).

1.3.4 Окружности, эллипсы, дуги.

Процедура Circle

Функция: выводит окружность с центром в точке (x, y) и радиусом r.

Описание: Circle(x, y, r).

Процедура Arc

Функция: Рисует дугу окружности от начального угла до конечного угла.

Описание: Arc(x, y, нач_угол, кон_угол, радиус).

Примечания: Рисует дугу окружности с центром (x, y) и радиусом "радиус". Дуга рисуется от начального угла ("нач_угол") до конечного угла ("кон_угол"). При этом используется текущий цвет. Начальный угол, равный 00 и конечный угол, равный 3600, задают вычерчивание полной окружности.

Процудура Ellipse

Рисует эллиптическую дугу от начального угла до конечного угла, используя (x, y) в качестве точки центра.

Описание: Ellipse (x, y, нач_угол, кон_угол, радХ, радY).

Примечания: Процедура рисует эллиптическую дугу, используя (x, y), как точку центра, а "радХ", "радY" – как горизоньальную и вертикальную оси. Дуга эллипса вычерчивается от начального угла (параметр "нач_угол") до конечного угла (параметр "кон_угол") текущим цветом. Углы для процедур Arc, Ellipseи PieSlice задаются по направлению против часовой стрелки. При этом значение (в градусах) 0 соответствует 3 часам, 90 градусов – 12 часам и т.д.

Процедура FillEllipse

Функция: рисует закрашенный эллипс.

Описание: FillEllipse (x, y, Xрадиус, Yрадиус).

Примечания: Используя точку с координатами (x, y) в качестве центра, а Храдиус и Yрадиус – в качестве горизонтальной и вертикальной осей, рисует закрашенный эллипс.

1.3.5 Сектор

Процедура PieSlice

Функция: рисует и заполняет цветом сектор круга.

Описание: PieSlice(x, y, нач_угол, кон_угол, радиус).

Примечания: (x, y) используются в качестве центра окружности, а сектор рисуется от начального угла (параметр "нач_угол") до конечного угла ("параметр "кон_угол"). Контур сектора вычерчивается текущим цветом, а при закрашивании используются тип и цвет закраски, заданные процедурами SetFillStyle и SetFillPattern. Начальный угол, равный 0 градусов и конечный угол, равный 360 градусов, задают вычерчивание полной окружности.

Процедура Sector

Функция: вычерчивает и заполняет эллиптический сектор.

Описание: Sector(x, y, нач_угол, кон_угол, Храдиус, Yрадиус).

Примечания: Процедура использует (x, y) как точку центра, параметры "Xрадиус" и Yрадиус" определяют горизонтальный и вертикальный радиусы. Сектор вычерчивается от начального угла (параметр "нач_угол") до конечного угла ("параметр "кон_угол"). Сектор рисуется текущим цветом и закрашивается с использованием образца закраски и цвета, заданных с помощью процедур SetFillStyle и SetFillPattern. Если задан начальный угол 00 и конечный угол 3600, то будет нарисован и закрашен полный эллипс.

1.3.6 Многоугольники

Процедура DrawPoly

Функция: Используя текущий тип прямой и текущий цвет рисует контур многоугольника.

Описание: DrawPoly(числ_коозд, коорд_верш).

Примечания: Параметр "коорд_верш" является нетипизированным параметром, который содержит координаты каждого пересечения в многоугольнике. Параметр "числ_коорд" задает число координат в "коорд_верш". Координата состоит из двух слов: значения х и значения y.

Данная процедура использует текущий тип линии и текущий цвет. Заметим, что для вычерчивания замкнутой фигуры с n вершинами вы должны передать при обращении к процедуре DrawPolyn+1 координату, где координата вершины с номером n будет равна координате вершины с номером 1.

Процедура FillPoly

Функция: Заполняет многоугольник.

Описание: FillPolty(числ_коозд, коорд_верш).

Примечания: Параметр "коорд_верш" является нетипизированным параметром, который содержит координаты каждого пересечения сторон в многоугольнике. Параметр "числ_коорд" задает число координат в "коорд_верш". Координата состоит из двух слов: значения х и значения y.

Данная процедура вычисляет все горизонтальные пересечения и заполняет многоугольник, используя текущий тип и цвет линии и текущий тип и цвет закраски. При вычерчивании контура многоугольника используется текущий тип линии и цвет, которые устанавливаются процедурой SetLineStyle.

1.3.7 Вывод изображений в относительных координатах.

В модуле Graph языка Паскаль имеется возможность рисовать фигуры, используя относительные координаты. Для этого используется понятие "текущий указатель" Текущий указатель (CPCurrentPointer) используется во многих графических системах. Понятие СР аналогично понятию курсора для текстового режима, за исключением того, что текущий указатель невидим. Для вывода произвольных графических изображений используется ряд процедур.

Процедура MoveTo

Функция: Перемещает текущий графический указатель в точку (x, y).

Описание: MoveTo(x, y).

Процедура MoveRel

Функция: Перемещает текущий указатель на расстояние, заданное относительными координатами от его текущей позиции.

Описание: MoveRel (Dx, Dy).

Примечания: Процедура MoveRel перемещает текущий указатель в точку, заданную относительным расстоянием (Dx, Dy) от точки, в которой находится текущий указатель. Относительные команды перемещения и рисования полезны при вычерчивании различных объектов на экране, у которых начальная точка может быть изменена (чтобы, например, вычертить ту же самую фигуру в другом месте экрана).