Gewusst wie: Festlegen von Stiftbreite und -ausrichtung

Aktualisiert: November 2007

Wenn Sie ein Pen-Objekt erstellen, können Sie die Stiftbreite zusammen mit anderen Argumenten an den Konstruktor übergeben. Darüber hinaus können Sie die Stiftbreite mit der Width-Eigenschaft der Pen-Klasse ändern.

Eine theoretische Linie hat die Breite 0. Wenn Sie eine Linie mit einer Breite von einem Pixel zeichnen, werden die Pixel auf der theoretischen Linie zentriert. Wenn Sie eine Linie mit einer Breite von mehr als 1 Pixel zeichnen, werden die Pixel entweder auf der theoretischen Linie zentriert, oder sie werden auf einer Seite der theoretischen Linie angezeigt. Indem Sie für ein Pen-Objekt die Stiftausrichtungseigenschaft festlegen, können Sie bestimmen, wie die mit diesem Stift gezeichneten Pixel relativ zu theoretischen Linien positioniert werden.

Die Werte Center, Outset und Inset in den folgenden Codebeispielen sind Member der PenAlignment-Enumeration.

Im folgenden Codebeispiel wird eine Linie zweimal gezeichnet: einmal mit einem schwarzen Stift der Breite 1 und ein anderes Mal mit einem grünen Stift der Breite 10.

So variieren Sie die Stiftbreite

  • Geben Sie für die Alignment-Eigenschaft den Wert Center (Standard) an, um festzulegen, dass die mit dem grünen Stift gezeichneten Pixel auf der theoretischen Linie zentriert werden. In der folgenden Abbildung ist die resultierende Linie dargestellt.

    Im folgenden Codebeispiel wird ein Rechteck zweimal gezeichnet: einmal mit einem schwarzen Stift der Breite 1 und ein anderes Mal mit einem grünen Stift der Breite 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);
    

So ändern Sie die Stiftausrichtung

  • Geben Sie für die Alignment-Eigenschaft den Wert Center an, um festzulegen, dass die mit dem grünen Stift gezeichneten Pixel auf der Begrenzung des Rechtecks zentriert werden.

    In der folgenden Abbildung ist das Rechteck dargestellt, das sich daraus ergibt.

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

So erstellen Sie einen abgesenkten Stift

  • Ändern Sie die Ausrichtung des grünen Stiftes, indem Sie die dritte Anweisung im vorangehenden Codebeispiel wie folgt ändern:

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

    Die Pixel in der breiten grünen Linie werden nun auf der Innenseite des Rechtecks angezeigt, wie in der folgenden Abbildung dargestellt.

Siehe auch

Weitere Ressourcen

Verwenden eines Stiftes zum Zeichnen von Linien und Formen

Grafik und Zeichnen in Windows Forms