На этом шаге мы рассмотрим рисование многоугольника.
Метод DrawPolygon чертит многоугольник (контур). Инструкция вызова метода в общем виде выглядит так:
DrawPolygon(aPen, p);
Параметр p — массив типа Point, определяет координаты вершин многоугольника. Метод DrawPolygon чертит многоугольник, соединяя прямыми линиями точки, координаты которых находятся в массиве: первую со второй, вторую с третьей и т. д. Последняя точка соединяется с первой. Вид границы многоугольника определяет параметр aPen, в качестве которого можно использовать стандартный или созданный программистом карандаш.
Закрашенный многоугольник рисует метод FillPolygon. Инструкция вызова метода в общем виде выглядит так:
FillPolygon(aBrush, p);
Параметр aBrush, в качестве которого можно использовать стандартную или созданную программистом штриховую (HatchBrush), градиентную (LineadGradientBrush) или текстурную (TextureBrush) кисть, определяет цвет и стиль закраски внутренней области многоугольника.
Далее приведен фрагмент кода, который демонстрирует использование методов DrawPolygon и FillPolygon — рисует корону.
// конструктор Form1(void) { InitializeComponent(); // //TODO: добавьте код конструктора // this->Paint += gcnew System::Windows::Forms::PaintEventHandler(this, &Form1::drawCrown); } . . . . . void drawCrown(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) { array<Point>^ p; p = gcnew array<Point>(5); p[0].X = 10; p[0].Y =30; p[1].X = 10; p[1].Y =10; p[2].X = 30; p[2].Y =20; p[3].X = 50; p[3].Y =10; p[4].X = 50; p[4].Y =30; e->Graphics->FillPolygon(Brushes::Gold, p); e->Graphics->DrawPolygon(Pens::Black,p); }
Результат работы приложения изображен на рисунке 1.
Рис.1. Результат работы приложения
На следующем шаге мы рассмотрим рисование эллипса и окружности.