Методам группы
Класс
Класс Brush, задающий кисти, устроен более сложно. Начну с того, что класс Brush является абстрактным классом, так что создавать кисти этого класса нельзя, но можно создавать кисти классов-потомков Brush. Таких классов пять — они задают кисть:
•
•
•
•
•
Первые два класса кистей находятся в пространстве имен
У каждого из этих классов свои конструкторы. В примере, обсуждаемом далее, рассмотрим создание кистей трех разных классов, там и поговорим о конструкторах классов.
Проект "Паутина Безье, кисти и краски"
Построим проект для рисования в формах. В одной из форм будем рисовать пером, в другом — кистями различного типа. Главную форму сделаем простой кнопочной формой. Вот как она выглядит.
Рис. 24.13.
Выбор соответствующей командной кнопки открывает форму для рисования пером или кистью.
Паутина Безье
В форме BezierWeb будем рисовать несколько кривых Безье, исходящих из одной точки — центра. Положение центра определяется курсором. Перемещая мышь, меняем положение курсора, а, следовательно, и центра, так что рисунок в форме будет все время перерисовываться, следуя за мышью, (
Прежде чем рассмотреть программный код, давайте посмотрим, как выглядят нарисованные программой кривые Безье, исходящие из одной точки.
Рис. 24.14.
Перейдем к рассмотрению кода. Первым делом добавим в поля формы нужные нам объекты:
//fields
Point center;
Point[] points = new Point[10];
Pen pen;
Graphics graph;
int count;
Точка center будет задавать общую начальную точку для всех рисуемых кривых Безье, массив
В конструкторе формы вызывается метод
void MyInit()
{
int сх = ClientSize.Width;
int су = ClientSize.Height;
points[0] = new Point (0,0);
points[1] = new Point(cx/2,0);
points [2] = new Point(cx,0);
points[3] = new Point(0,cy/2);
points[4] = new Point(cx,cy/2);
points [5] = new Point(0,cy);
points[б] = new Point(cx/2,су);
points[7] = new Point(cx,cy);
points[8] = new Point (0,0);
points [9] = new Point(cx/2,0);
graph = this.CreateGraphics ();
center = new Point(cx/2,cy/2);
count =1;
}
Рисование кривых Безье выполняется в методе