Vorgehensweise: Festlegen von Stiftbreite und -ausrichtung

Wenn Sie einen Pen erstellen, können Sie die Stiftbreite als eines der Argumente für den Konstruktor bereitstellen. Sie können die Stiftbreite auch mit der Width -Eigenschaft der -Klasse Pen ändern.

Eine theoretische Linie hat eine Breite von 0. Wenn Sie eine 1 Pixel breite Linie zeichnen, werden die Pixel auf der theoretischen Linie zentriert. Wenn Sie eine Linie zeichnen, die mehr als ein Pixel breit ist, werden die Pixel entweder auf der theoretischen Linie zentriert oder auf einer Seite der theoretischen Linie angezeigt. Sie können die Stiftausrichtungseigenschaft eines festlegen, um zu bestimmen, wie die mit diesem Stift gezeichneten Pixel relativ zu Pen theoretischen Linien positioniert werden.

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

Im folgenden Codebeispiel wird eine Linie zweimal ge zeichnet: einmal mit einem schwarzen Stift der Breite 1 und einmal mit einem grünen Stift der Breite 10.

So ändern Sie die Breite eines Stifts

  • Legen Sie den Wert der -Eigenschaft auf (Standard) fest, um anzugeben, dass mit dem grünen Stift gezeichnete Pixel auf der Alignment Center theoretischen Linie zentriert werden. Die folgende Abbildung zeigt die resultierende Zeile.

    Eine schwarze dünne Linie mit grüner Hervorhebung.

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

So ändern Sie die Ausrichtung eines Stifts

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

    Die folgende Abbildung zeigt das resultierende Rechteck:

    Ein Rechteck, das mit schwarzen, schlanken Linien mit grüner Hervorhebung gezeichnet wird.

    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)
    
    

So erstellen Sie einen Einbruchstift

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

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

    Nun werden die Pixel in der breiten grünen Linie innerhalb des Rechtecks angezeigt, wie in der folgenden Abbildung dargestellt:

    Ein Rechteck, das mit schwarzen Linien mit der breiten grünen Linie gezeichnet wird.

Siehe auch