Шаг 67.
Microsoft Visual C++ 2010. Начала.
Программирование. Графика. Графические примитивы. Многоугольник

    На этом шаге мы рассмотрим рисование многоугольника.

    Метод 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. Результат работы приложения

    На следующем шаге мы рассмотрим рисование эллипса и окружности.




Предыдущий шаг Содержание Следующий шаг