Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Copy of к экзамену.doc
Скачиваний:
36
Добавлен:
20.11.2019
Размер:
5.39 Mб
Скачать

5. Методы изображения точек, прямых и ломаных.

Линия

Метод DrawLine, как это нетрудно догадаться из его названия, рисует линию, соединяющую две точки с заданными координатами. Ниже мы привели прототипы различных перегруженных версий этого метода:

public void DrawLine(Pen, Point, Point); public void DrawLine(Pen, PointF PointF; public void DrawLine(Pen, int, int, int, int); public void DrawLine(Pen, float, float, float, float);

Первый параметр задает инструмент для рисования линии — перо. Перья создаются как объекты класса Pen, например:

Pen p = new Pen(Brushes.Black,2);

Здесь мы создали черное перо толщиной 2 пиксела. Создавая перо, Вы можете выбрать его цвет, толщину и тип линии, а также другие атрибуты. Подробнее об этом мы расскажем ниже в разделе «Инструменты для рисования».

Остальные параметры перегруженных методов DrawLine задают координаты соединяемых точек. Эти координаты могут быть заданы как объекты класса Point и PointF, а также в виде целых чисел и чисел с плавающей десятичной точкой.

В классах Point и PointF определены свойства X и Y, задающие, соответственно, координаты точки по горизонтальной и вертикальной оси. При этом в классе Point эти свойства имеют целочисленные значения, а в классе PointF — значения с плавающей десятичной точкой.

Третий и четвертый вариант метода DrawLine позволяет задавать координаты соединяемых точек в виде двух пар чисел. Первая пара определяет координаты первой точки по горизонтальной и вертикальной оси, а вторая — координаты второй точки по этим же осям. Разница между третьим и четвертым методом заключается в использовании координат различных типов (целочисленных int и с плавающей десятичной точкой float).

Тип линии (пунктирная, штрихпунктирная и т.д.) задается свойством DashStyle. По умолчанию используется сплошная линия (DashStyle.Solid). Начертание концов линий задается свойствами StartCap и EndCap. Начертание концов штриха – свойством DashCap.

Метод рисования линий отрезков прямых DrawLine уже неоднократно встречался нам в примерах. Заметим только, что в этом методе, как и во многих рассмотренных ниже, вместо пары целых чисел, обозначающих точку на плоскости можно использовать объект класса Point и наоборот.

Класс Point представляет точку с целочисленными координатами x и y и операторами проверки на равенство, вычисления сдвига и перемещения. Наряду с Point можно использовать класс FPoint, в котором координаты точки имеют вещественный тип.

Ломаная отрисовывается методом DrawLines, параметрами которого являются перо и массив вершин ломаной. Для рисования замкнутой ломаной используется похожий метод DrawPolygon(Pen, Point[]).

6. Методы изображения многоугольников, кривых Безье.

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

Метод DrawPolygon поможет Вам в тех случаях, когда нужно нарисовать многоугольник, заданный своими вершинами. 

Предусмотрено два варианта этого метода:

public void DrawPolygon(Pen, Point[]); public void DrawPolygon(Pen, PointF[]);

В первом случае методу DrawPolygon через второй параметр передается массив точек класса Point, в котором координаты точек заданы целыми числами, а во втором — массив класса PointF, где координаты соединяемых точек задаются в виде числе с плавающей десятичной точкой.

Метод DrawRectangle(Pen, Rectangle) рисует прямоугольник, стороны которого параллельны осям мировой системы координат. Объект класса Rectangle представляет собой прямоугольник, задаваемый четверкой чисел - целочисленными координатами левого верхнего угла и длинами сторон. Класс Rectangle содержит методы, позволяющие проверить принадлежность точки (Point) прямоугольнику, определить его длину и высоту, получить пересечение прямоугольников, проверить прямоугольники на равенство, принадлежность друг другу и т.д. Помимо Rectangle во многих методах можно применять класс FRectange, в котором используются вещественные координаты. По аналогии с точками, во многих методах вместо объекта класса Rectangle можно использовать четверки чисел, и наоборот.

Метод DrawRectangles(Pen, Rectangle[]) позволяет отрисовать одним пером сразу несколько прямоугольников.

Кривые Безье

Из институтского курса математики Вам, скорее всего, известно понятие сплайна (spline). Сплайн представляет собой кривую линию, соединяющую между собой несколько точек.

Кривая Безье, представляющая собой одну из разновидностей сплайна, задается четырьмя точками. Две из них — начальная и конечная, а две другие — управляющие. Кривая Безье проходит через начальную и конечную точки, а управляющие точки задают изгибы кривой линии. Для рисования кривых Безье имеются два перегруженных набора методов DrawBezier и DrawBeziers:

public void DrawBezier(Pen, Point, Point, Point, Point); public void DrawBezier(Pen, PointF, PointF, PointF, PointF); public void DrawBezier(Pen, float, float, float, float, float, float,   float, float);

public void DrawBeziers(Pen, Point[]); public void DrawBeziers(Pen, PointF[]);

Во всех этих методах первый параметр задает перо, которая будет использована для рисования. Остальные параметры задают координаты начальной, конечной и управляющих точек.

Что касается метода DrawBeziers, то он позволяет задавать координаты точек в виде массивов, что может быть удобно в некоторых случаях.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]