Procedura: impostare la larghezza e l'allineamento di un oggetto Pen
Quando si crea un Penoggetto , è possibile fornire la larghezza della penna come uno degli argomenti al costruttore. È anche possibile modificare la larghezza della penna con la Width proprietà della Pen classe .
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 disegnare una linea che ha più di un pixel di larghezza, i pixel sono centrati sulla linea teorica o appaiono su un lato della linea teorica. È possibile impostare la proprietà di allineamento della penna di un oggetto 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 Alignment proprietà 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 Alignment proprietà 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:
Vedi anche
.NET Desktop feedback