Condividi tramite


Procedura: impostare la larghezza e l'allineamento di un oggetto Pen

Aggiornamento: novembre 2007

Quando si crea un oggetto Pen, è possibile fornire la sua larghezza come uno degli argomenti al costruttore. È inoltre possibile modificare tale larghezza tramite la proprietà Width della classe Pen.

Una linea teorica ha larghezza pari a 0. Quando si disegna una linea con larghezza pari a 1 pixel, i pixel vengono centrati rispetto alla linea teorica. Se si traccia una linea con larghezza maggiore di un pixel i pixel vengono centrati rispetto alla linea teorica oppure vengono visualizzati a lato di essa. È possibile impostare la proprietà di allineamento della penna di un oggetto Pen per determinare la posizione relativa alle linee teoriche dei pixel disegnati con quella penna.

I valori Center, Outset e Inset visualizzati negli esempi seguenti sono membri dell'enumerazione PenAlignment.

Nell'esempio che segue si traccia una linea due volte: la prima con una penna di colore nero e larghezza 1, la seconda con una penna di colore verde e larghezza 10.

Per modificare la larghezza di una penna

  • Impostare il valore della proprietà Alignment su Center (impostazione predefinita) per specificare che i pixel tracciati con la penna di colore verde saranno centrati rispetto alla linea teorica. Nell'illustrazione che segue è visibile la linea risultante.

    Oggetti Pen

    Nell'esempio che segue si traccia un rettangolo due volte: il primo con una penna di colore nero e larghezza 1, il secondo con una penna di colore verde e larghezza 10.

    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)
    
    
    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);
    

Per modificare l'allineamento di una penna

  • Impostare il valore della proprietà Alignment su Center per specificare che i pixel tracciati con la penna di colore verde saranno centrati rispetto al limite del rettangolo.

    Nell'illustrazione che segue si mostra il rettangolo risultante.

    Oggetti Pen

    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)
    
    
    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);
    

Per creare una penna di inserimento bordo

  • È possibile modificare l'allineamento della penna di colore verde modificando come segue la terza istruzione nel codice precedente:

    greenPen.Alignment = PenAlignment.Inset
    
    
    greenPen.Alignment = PenAlignment.Inset;
    

    I pixel della linea verde più larga vengono ora visualizzati all'interno del rettangolo, come mostrato nell'illustrazione che segue.

    Oggetti Pen

Vedere anche

Altre risorse

Utilizzo di un oggetto Pen per creare linee e forme

Grafica e disegno in Windows Form