Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CSharp_Graphics.doc
Скачиваний:
20
Добавлен:
16.11.2019
Размер:
3.1 Mб
Скачать

Штриховые линии и завершения отрезков

Объект Pen также разрешает изменять значения некоторых своих свойств, таких как DashStyle, что позволяет задавать характеристики линии. В приведенном ниже примере демонстрируется рисование отрезка штриховой линии из точки с координатами (100, 50) в точку с координатами (300, 80).

-----------

Изменяя значения свойств объекта Pen, можно задать многие атрибуты линии. Свойства StartCap и EndCap определяют вид конечных точек отрезка. Конец отрезка может быть плоским, квадратным, круглым, треугольным или иметь произвольную форму. Свойство LineJoin позволяет указывать, должны ли соединяемые линии соединяться под углом (с выступающими острыми углами), со скошенными, закругленными или обрезанными краями. На приведенном ниже примере демонстрируются различные стили завершения и соединения линий.

Рисование прямоугольника

Рисование прямоугольников в GDI+ похоже на рисование линий. Чтобы нарисовать прямоугольник, нужно создать два объекта: объект Graphics и объект Pen. У объекта Graphics имеется метод DrawRectangle, а объект Pen предназначен для хранения таких атрибутов рисуемого элемента, как ширина линии и цвет. Объект Pen передается методу DrawRectangle в качестве одного из аргументов. В приведенном ниже примере демонстрируется рисование прямоугольника шириной 80 и высотой 40 точек, верхний левый угол которого расположен в точке с координатами (100, 50).

---------

Метод DrawRectangle класса Graphics перегружен, поэтому для него поддерживается несколько способов передачи аргументов. Например, можно создать объект Rectangle и передать этот объект Rectangle в качестве аргумента методу DrawRectangle:

------------

Объект Rectangle содержит методы и свойства, позволяющие задавать и извлекать данные о прямоугольнике. Например, методы Inflate и Offset позволяют изменять размер и расположение прямоугольника. Метод IntersectsWith позволяет определить, не пересекается ли данный прямоугольник с некоторым указанным прямоугольником, а метод Contains позволяет определить, находится ли указанная точка внутри данного прямоугольника.

Ellipses and Arcs in GDI+

You can easily draw ellipses and arcs using the DrawEllipse and DrawArc methods of the Graphics class.

Drawing an Ellipse

To draw an ellipse, you need a Graphics object and a Pen object. The Graphics object provides the DrawEllipse method, and the Pen object stores attributes, such as width and color, of the line used to render the ellipse. The Pen object is passed as one of the arguments to the DrawEllipse method. The remaining arguments passed to the DrawEllipse method specify the bounding rectangle for the ellipse. The following illustration shows an ellipse along with its bounding rectangle.

The following example draws an ellipse; the bounding rectangle has a width of 80, a height of 40, and an upper-left corner of (100, 50):

myGraphics.DrawEllipse(myPen, 100, 50, 80, 40);

DrawEllipse is an overloaded method of the Graphics class, so there are several ways you can supply it with arguments. For example, you can construct a Rectangle and pass the Rectangle to the DrawEllipse method as an argument:

Rectangle myRectangle = new Rectangle(100, 50, 80, 40);

myGraphics.DrawEllipse(myPen, myRectangle);

Drawing an Arc

An arc is a portion of an ellipse. To draw an arc, you call the DrawArc method of the Graphics class. The parameters of the DrawArc method are the same as the parameters of the DrawEllipse method, except that DrawArc requires a starting angle and sweep angle. The following example draws an arc with a starting angle of 30 degrees and a sweep angle of 180 degrees:

myGraphics.DrawArc(myPen, 100, 50, 140, 70, 30, 180);

The following illustration shows the arc, the ellipse, and the bounding rectangle.

Эллипсы и дуги в GDI+