Penne, linee e rettangoli
Per disegnare linee con Windows GDI+ è necessario creare un oggettoGraphicse un oggetto Pen. L'oggetto graphics fornisce i metodi che eseguono effettivamente il disegno e l'oggetto Penna archivia gli attributi della linea, ad esempio colore, larghezza e stile. Il disegno di una linea consiste semplicemente nel chiamare il metodo DrawLine dell'oggetto Graphics. L'indirizzo dell'oggetto pen penna viene passato come uno degli argomenti al metodo DrawLine. Nell'esempio seguente viene tracciata una linea dal punto (4, 2) al punto (12, 6).
myGraphics.DrawLine(&myPen, 4, 2, 12, 6);
DrawLine è un metodo di overload della classeGraphics, quindi è possibile fornire argomenti in diversi modi. Ad esempio, è possibile costruire due oggetti Point e passare riferimenti agli oggetti point come argomenti al metodo DrawLine.
Point myStartPoint(4, 2);
Point myEndPoint(12, 6);
myGraphics.DrawLine(&myPen, myStartPoint, myEndPoint);
È possibile specificare determinati attributi quando si costruisce un oggetto Pen. Ad esempio, un costruttore Penna consente di specificare il colore e la larghezza. Nell'esempio seguente viene tracciata una linea blu di larghezza 2 da (0, 0) a (60, 30).
Pen myPen(Color(255, 0, 0, 255), 2);
myGraphics.DrawLine(&myPen, 0, 0, 60, 30);
L'oggetto Penna include anche attributi, ad esempio lo stile trattino, che è possibile usare per specificare le caratteristiche della linea. Ad esempio, l'esempio seguente disegna una linea tratteggiata da (100, 50) a (300, 80).
myPen.SetDashStyle(DashStyleDash);
myGraphics.DrawLine(&myPen, 100, 50, 300, 80);
È possibile utilizzare vari metodi dell'oggettopenna diper impostare molti altri attributi della riga. I metodi Pen::SetStartCap e Pen::SetEndCap specificano l'aspetto delle estremità della riga; le estremità possono essere piatta, quadrata, arrotondata, triangolare o una forma personalizzata. Il metodo Pen::SetLineJoin consente di specificare se le linee connesse vengono ritagliate (unite con angoli taglienti), smussate, arrotondate o ritagliate. La figura seguente mostra le righe con diversi stili di maiuscole e di join.
I rettangoli di disegno con GDI+ sono simili alle linee di disegno. Per disegnare un rettangolo, è necessario un oggetto Graphics e un oggetto Pen. L'oggetto Graphics fornisce un metodo DrawRectangle e l'oggetto Pen Pen archivia attributi, ad esempio larghezza e colore della linea. L'indirizzo dell'oggetto Penna viene passato come uno degli argomenti al metodo DrawRectangle. Nell'esempio seguente viene disegnato un rettangolo con l'angolo superiore sinistro in corrispondenza di (100, 50), una larghezza pari a 80 e un'altezza pari a 40.
myGraphics.DrawRectangle(&myPen, 100, 50, 80, 40);
DrawRectangle è un metodo di overload della classe Graphics, quindi è possibile specificarlo con argomenti in diversi modi. Ad esempio, è possibile costruire un oggetto Rect e passare un riferimento all'oggetto Rect come argomento del metodo DrawRectangle.
Rect myRect(100, 50, 80, 40);
myGraphics.DrawRectangle(&myPen, myRect);
Un oggetto Rect include metodi per la modifica e la raccolta di informazioni sul rettangolo. Ad esempio, i metodi Gonfia e Offset modificano le dimensioni e la posizione del rettangolo. Il metodo Rect::IntersectsWith indica se il rettangolo interseca un altro rettangolo specificato e il metodo Contains indica se un determinato punto si trova all'interno del rettangolo.