Как нарисовать заполненный многоугольник с помощью C ++? - PullRequest
0 голосов
/ 02 октября 2011

Я новичок в C ++. Я использую Visual studio Professional 2010. Я научился рисовать линии, но на этот раз мне нужно нарисовать закрашенный многоугольник. Способ, которым я рисовал линии, ниже:

private: System::Void Form1_Paint(System::Object^  sender, System::Windows::Forms::PaintEventArgs^  e) {
                Graphics ^g = e->Graphics;  //require for drawing
                g->DrawArc(Pens::Black, i-the_size/2, j-the_size/2, the_size, the_size, 0, 90 );
                g->DrawArc(Pens::Black, i+the_size/2, j+the_size/2, the_size, the_size, 180, 90 );}

Как рисовать заполненные полигоны, используя методы, аналогичные тем, которые я изучил до сих пор?

1 Ответ

1 голос
/ 02 октября 2011

Звоните Graphics.FillPolygon().Вам понадобится кисть, а не ручка, и вы должны поместить свои точки в массив точек Point[].

Пример кода из MSDN выглядит так:

// Create solid brush.
SolidBrush^ blueBrush = gcnew SolidBrush( Color::Blue );

// Create points that define polygon.
Point point1 = Point(50,50);
Point point2 = Point(100,25);
Point point3 = Point(200,5);
Point point4 = Point(250,50);
Point point5 = Point(300,100);
Point point6 = Point(350,200);
Point point7 = Point(250,250);
array<Point>^ curvePoints = {point1,point2,point3,point4,point5,point6,point7};

// Draw polygon to screen.
e->Graphics->FillPolygon( blueBrush, curvePoints );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...