Vorgehensweise: Festlegen von Stiftbreite und -ausrichtungHow to: Set Pen Width and Alignment

Bei der Erstellung einer Pen, Sie können die Stiftbreite als eines der Argumente an den Konstruktor bereitstellen.When you create a Pen, you can supply the pen width as one of the arguments to the constructor. Sie können auch die Stiftbreite mit Ändern der Width Eigenschaft der Pen Klasse.You can also change the pen width with the Width property of the Pen class.

Eine theoretische Linie hat es sich um eine Breite von 0.A theoretical line has a width of 0. Wenn Sie eine Linie, die 1-Pixel breit ist zeichnen, werden die Pixel auf der theoretischen Linie zentriert.When you draw a line that is 1 pixel wide, the pixels are centered on the theoretical line. Wenn Sie eine Linie, die mehr als einem Pixel Breite ist zeichnen, wird die Pixel werden entweder auf der theoretischen Linie zentriert oder werden auf einer Seite von der theoretischen Linie.If you draw a line that is more than one pixel wide, the pixels are either centered on the theoretical line or appear to one side of the theoretical line. Sie können festlegen, die Stiftausrichtungseigenschaft, der eine Pen um zu bestimmen, wie die mit diesem Stift gezeichneten Pixel relativ zur theoretischen Linien positioniert werden.You can set the pen alignment property of a Pen to determine how the pixels drawn with that pen will be positioned relative to theoretical lines.

Die Werte Center, Outset, und Inset , angezeigt werden, in der folgenden Codebeispiele sind Mitglieder der PenAlignment Enumeration.The values Center, Outset, and Inset that appear in the following code examples are members of the PenAlignment enumeration.

Im folgenden Codebeispiel wird zeichnet eine Linie zweimal: einmal mit einem schwarzen Stift der Breite 1 und einmal mit einem grünen Stift der Breite 10.The following code example draws a line twice: once with a black pen of width 1 and once with a green pen of width 10.

Um die Breite des Stifts zu variieren.To vary the width of a pen

  • Legen Sie den Wert, der die Alignment Eigenschaft Center (Standard), um anzugeben, dass mit dem grünen Stift gezeichneten Pixel auf der theoretischen Linie zentriert werden soll.Set the value of the Alignment property to Center (the default) to specify that pixels drawn with the green pen will be centered on the theoretical line. Die folgende Abbildung zeigt die resultierende Linie.The following illustration shows the resulting line.

    Ein schwarzer thin Grün hervorgehobene Linie.

    Im folgenden Codebeispiel wird zeichnet ein Rechteck zweimal: einmal mit einem schwarzen Stift der Breite 1 und einmal mit einem grünen Stift der Breite 10.The following code example draws a rectangle twice: once with a black pen of width 1 and once with a green pen of width 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 StiftsTo change the alignment of a pen

  • Legen Sie den Wert von der Alignment Eigenschaft Center um anzugeben, dass die mit dem grünen Stift gezeichneten Pixel soll, auf die Begrenzung des Rechtecks zentriert werden.Set the value of the Alignment property to Center to specify that the pixels drawn with the green pen will be centered on the boundary of the rectangle.

    Die folgende Abbildung zeigt das sich ergebende Rechteck:The following illustration shows the resulting rectangle:

    Ein Rechteck mit dem schwarzen schmale Linien Grün hervorgehobene gezeichnet.

    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)
    
    

Ein abgesenkter Stift erstellenTo create an inset pen

  • Ändern Sie den grünen Stift-Ausrichtung, indem Sie im obigen Codebeispiel wird die dritte Anweisung wie folgt ändern:Change the green pen's alignment by modifying the third statement in the preceding code example as follows:

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

    Jetzt werden die Pixel in der breiten grünen Linie innerhalb des Rechtecks angezeigt, wie in der folgenden Abbildung gezeigt:Now the pixels in the wide green line appear on the inside of the rectangle as shown in the following illustration:

    Ein Rechteck mit schwarzen Linien mit der breiten grünen Linie in gezeichnet.

Siehe auchSee also