Procedura: Impostare la larghezza e l'allineamento della penna
Quando si crea un Pen, è possibile fornire lo spessore della penna come uno degli argomenti al costruttore. È anche possibile modificare la larghezza della penna con la proprietà Width della classe Pen.
Una linea teorica ha una larghezza pari a 0. Quando si disegna una linea larga 1 pixel, i pixel vengono centrati sulla linea teorica. Se disegni una linea che ha più di un pixel di larghezza, i pixel sono centrati sulla linea teorica o appaiono su uno dei lati della linea teorica. È possibile impostare la proprietà di allineamento della penna di un Pen per determinare il modo in cui i pixel disegnati con tale penna verranno posizionati rispetto alle linee teorice.
I valori Center, Outsete Inset visualizzati negli esempi di codice seguenti sono membri dell'enumerazione PenAlignment.
L'esempio di codice seguente disegna una riga due volte: una volta con una penna nera di larghezza 1 e una volta con una penna verde di larghezza 10.
Per variare la larghezza di una penna
Impostare il valore della proprietà Alignment su Center (impostazione predefinita) per specificare che i pixel disegnati con la penna verde verranno centrati sulla linea teorica. La figura seguente mostra la riga risultante.
L'esempio di codice seguente disegna un rettangolo due volte: una volta con una penna nera di larghezza 1 e una volta con una penna verde di larghezza 10.
Pen blackPen = new Pen(Color.FromArgb(255, 0, 0, 0), 1); Pen greenPen = new Pen(Color.FromArgb(255, 0, 255, 0), 10); greenPen.Alignment = PenAlignment.Center; // Draw the line with the wide green pen. e.Graphics.DrawLine(greenPen, 10, 100, 100, 50); // Draw the line with the thin black pen. e.Graphics.DrawLine(blackPen, 10, 100, 100, 50);
Dim blackPen As New Pen(Color.FromArgb(255, 0, 0, 0), 1) Dim greenPen As New Pen(Color.FromArgb(255, 0, 255, 0), 10) greenPen.Alignment = PenAlignment.Center ' Draw the line with the wide green pen. e.Graphics.DrawLine(greenPen, 10, 100, 100, 50) ' Draw the line with the thin black pen. e.Graphics.DrawLine(blackPen, 10, 100, 100, 50)
Per modificare l'allineamento di una penna
Impostare il valore della proprietà Alignment su Center per specificare che i pixel disegnati con la penna verde verranno centrati sul limite del rettangolo.
La figura seguente mostra il rettangolo risultante:
Pen blackPen = new Pen(Color.FromArgb(255, 0, 0, 0), 1); Pen greenPen = new Pen(Color.FromArgb(255, 0, 255, 0), 10); greenPen.Alignment = PenAlignment.Center; // Draw the rectangle with the wide green pen. e.Graphics.DrawRectangle(greenPen, 10, 100, 50, 50); // Draw the rectangle with the thin black pen. e.Graphics.DrawRectangle(blackPen, 10, 100, 50, 50);
Dim blackPen As New Pen(Color.FromArgb(255, 0, 0, 0), 1) Dim greenPen As New Pen(Color.FromArgb(255, 0, 255, 0), 10) greenPen.Alignment = PenAlignment.Center ' Draw the rectangle with the wide green pen. e.Graphics.DrawRectangle(greenPen, 10, 100, 50, 50) ' Draw the rectangle with the thin black pen. e.Graphics.DrawRectangle(blackPen, 10, 100, 50, 50)
Per creare una penna inset
Modificare l'allineamento della penna verde modificando la terza istruzione nell'esempio di codice precedente come indicato di seguito:
greenPen.Alignment = PenAlignment.Inset;
greenPen.Alignment = PenAlignment.Inset
Ora i pixel nella linea verde larga vengono visualizzati all'interno del rettangolo, come illustrato nella figura seguente:
Vedere anche
.NET Desktop feedback