Condividi tramite


Curve aperte e chiuse

La figura seguente mostra due curve: una aperta e una chiusa.

figura di una curva aperta (una linea curva) e una curva chiusa (la struttura di una forma)

Le curve chiuse hanno un interno e quindi possono essere riempite con un pennello. La classe Graphics in Windows GDI+ fornisce i metodi seguenti per compilare figure e curve chiuse: FillRectangle, FillEllipse, FillPie, FillPolygon, FillClosedCurve, Graphics::FillPath e Graphics: :FillRegion. Ogni volta che si chiama uno di questi metodi, è necessario passare l'indirizzo di uno dei tipi di pennello specifici (SolidBrush, HatchBrush, TextureBrush, LinearGradientBrush o PathGradientBrush) come argomento.

Il metodo FillPie è un complementare al metodo DrawArc . Proprio come il metodo DrawArc disegna una parte della struttura di un ellisse, il metodo FillPie riempie una parte dell'interno di un ellisse. L'esempio seguente disegna un arco e riempie la parte corrispondente dell'interno dell'ellisse.

myGraphics.FillPie(&mySolidBrush, 0, 0, 140, 70, 0, 120);
myGraphics.DrawArc(&myPen, 0, 0, 140, 70, 0, 120);

La figura seguente mostra l'arco e la torta riempita.

figura che mostra un segmento di puntini di sospensione riempiti

Il metodo FillClosedCurve è un complementare al metodo DrawClosedCurve . Entrambi i metodi chiudeno automaticamente la curva connettendo il punto finale al punto iniziale. L'esempio seguente disegna una curva che passa attraverso (0, 0, 0), (60, 20) e (40, 50). La curva viene quindi chiusa automaticamente connettendo (40, 50) al punto iniziale (0, 0) e l'interno viene riempito con un colore a tinta unita.

Point myPointArray[] =
   {Point(10, 10), Point(60, 20),Point(40, 50)};
myGraphics.DrawClosedCurve(&myPen, myPointArray, 3);
myGraphics.FillClosedCurve(&mySolidBrush, myPointArray, 3, FillModeAlternate)

Un percorso può essere costituito da diverse figure (sottopath). Il metodo Graphics::FillPath riempie l'interno di ogni figura. Se una figura non è chiusa, il metodo Graphics::FillPath riempie l'area racchiusa se la figura fosse chiusa. L'esempio seguente disegna e riempie un percorso costituito da un arco, da uno spline cardinali, da una stringa e da una torta.

myGraphics.FillPath(&mySolidBrush, &myGraphicsPath);
myGraphics.DrawPath(&myPen, &myGraphicsPath);

La figura seguente mostra il percorso prima e dopo che viene riempito con un pennello solido. Si noti che il testo nella stringa è descritto, ma non compilato, dal metodo Graphics::D rawPath . È il metodo Graphics::FillPath che disegna gli interni dei caratteri nella stringa.

figura che due volte mostra il testo e una curva aperta e chiusa; queste sono vuote la prima volta e riempite la seconda volta