Penne, linee e rettangoli in GDI+

Per disegnare linee con GDI+ è necessario creare un Graphics oggetto e un Pen oggetto . L'oggetto Graphics fornisce i metodi che eseguono effettivamente il disegno e l'oggetto Pen archivia attributi, ad esempio il colore della linea, la larghezza e lo stile.

Disegno di una linea

Per disegnare una linea, chiamare il DrawLine metodo dell'oggetto Graphics . L'oggetto Pen viene passato come uno degli argomenti al DrawLine metodo . Nell'esempio seguente viene tracciata una linea dal punto (4, 2) al punto (12, 6):

myGraphics.DrawLine(myPen, 4, 2, 12, 6);
myGraphics.DrawLine(myPen, 4, 2, 12, 6)

DrawLine è un metodo di overload della Graphics classe, quindi è possibile specificarlo con argomenti in diversi modi. Ad esempio, è possibile costruire due Point oggetti e passare gli Point oggetti come argomenti al DrawLine metodo :

Point myStartPoint = new Point(4, 2);
Point myEndPoint = new Point(12, 6);
myGraphics.DrawLine(myPen, myStartPoint, myEndPoint);
Dim myStartPoint As New Point(4, 2)
Dim myEndPoint As New Point(12, 6)
myGraphics.DrawLine(myPen, myStartPoint, myEndPoint)

Costruzione di una penna

È possibile specificare determinati attributi quando si costruisce un Pen oggetto . Ad esempio, un Pen costruttore consente di specificare il colore e la larghezza. L'esempio seguente disegna una linea blu di larghezza 2 da (0, 0) a (60, 30):

Pen myPen = new Pen(Color.Blue, 2);
myGraphics.DrawLine(myPen, 0, 0, 60, 30);
Dim myPen As New Pen(Color.Blue, 2)
myGraphics.DrawLine(myPen, 0, 0, 60, 30)

Linee tratteggiate e estremità linea

L'oggetto Pen espone anche proprietà, ad esempio DashStyle, che è possibile utilizzare per specificare le caratteristiche della riga. L'esempio seguente disegna una linea tratteggiata da (100, 50) a (300, 80):

myPen.DashStyle = DashStyle.Dash;
myGraphics.DrawLine(myPen, 100, 50, 300, 80);
myPen.DashStyle = DashStyle.Dash
myGraphics.DrawLine(myPen, 100, 50, 300, 80)

È possibile utilizzare le proprietà dell'oggetto Pen per impostare molti altri attributi della riga. Le proprietà e EndCap specificano l'aspetto delle estremità della linea. Le StartCap estremità possono essere flat, quadrate, arrotondate, triangolari o una forma personalizzata. La LineJoin proprietà 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.

Lines

Disegno di un rettangolo

I rettangoli di disegno con GDI+ sono simili alle linee di disegno. Per disegnare un rettangolo, sono necessari un Graphics oggetto e un Pen oggetto . L'oggetto Graphics fornisce un DrawRectangle metodo e l'oggetto Pen archivia attributi, ad esempio larghezza e colore della linea. L'oggetto Pen viene passato come uno degli argomenti al DrawRectangle metodo . Nell'esempio seguente viene disegnato un rettangolo con l'angolo superiore sinistro in corrispondenza di (100, 50), una larghezza di 80 e un'altezza di 40:

myGraphics.DrawRectangle(myPen, 100, 50, 80, 40);
myGraphics.DrawRectangle(myPen, 100, 50, 80, 40)

DrawRectangle è un metodo di overload della Graphics classe, quindi è possibile specificarlo con argomenti in diversi modi. Ad esempio, è possibile costruire un Rectangle oggetto e passare l'oggetto RectangleDrawRectangle al metodo come argomento:

Rectangle myRectangle = new Rectangle(100, 50, 80, 40);
myGraphics.DrawRectangle(myPen, myRectangle);
Dim myRectangle As New Rectangle(100, 50, 80, 40)
myGraphics.DrawRectangle(myPen, myRectangle)

Un Rectangle oggetto dispone di metodi e proprietà per la modifica e la raccolta di informazioni sul rettangolo. Ad esempio, i Inflate metodi e Offset modificano le dimensioni e la posizione del rettangolo. Il IntersectsWith metodo indica se il rettangolo interseca un altro rettangolo specificato e il Contains metodo indica se un determinato punto si trova all'interno del rettangolo.

Vedi anche