Condividi tramite


Riempimento di figure aperte

È possibile compilare un percorso passando l'indirizzo di un oggetto GraphicsPath al metodo Graphics::FillPath . Il metodo Graphics::FillPath riempie il percorso in base alla modalità di riempimento (alternativa o avvolgimento) attualmente impostata per il percorso. Se il percorso contiene figure aperte, il percorso viene riempito come se tali figure fossero chiuse. GDI+ chiude una figura disegnando una linea retta dal punto finale al punto iniziale.

Nell'esempio seguente viene creato un percorso con una figura aperta (arco) e una figura chiusa (ellisse). Il metodo Graphics::FillPath riempie il percorso in base alla modalità di riempimento predefinita, ovvero FillModeAlternate.

GraphicsPath path;

// Add an open figure.
path.AddArc(0, 0, 150, 120, 30, 120);

// Add an intrinsically closed figure.
path.AddEllipse(50, 50, 50, 100);

Pen pen(Color(128, 0, 0, 255), 5);
SolidBrush brush(Color(255, 255, 0, 0));

// The fill mode is FillModeAlternate by default.
graphics.FillPath(&brush, &path);
graphics.DrawPath(&pen, &path);

La figura seguente mostra l'output del codice precedente. Si noti che il percorso viene riempito (in base a FillModeAlternate) come se la figura aperta fosse chiusa da una linea retta dal punto finale al punto iniziale.

illustrazione che mostra un'ellisse alta che si sovrappone alla metà inferiore di un'ellisse larga; l'unione viene riempita ma l'intersezione è vuota