So legen Sie die Stiftbreite und -ausrichtung fest
Wenn Sie einen Pen erstellen, können Sie die Stiftbreite als eines der Argumente für den Konstruktor angeben. Sie können die Stiftbreite auch mithilfe der Eigenschaft Width der Klasse Pen ändern.
Eine theoretische Linie hat eine Breite von 0. Wenn Sie eine Linie zeichnen, die 1 Pixel breit ist, 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 Eigenschaft zur Stiftausrichtung für Pen festlegen, um zu bestimmen, wie die mit diesem Stift gezeichneten Pixel relativ zu den theoretischen Linien positioniert werden sollen.
Die Werte Center, Outsetund Inset, die in den folgenden Codebeispielen angezeigt werden, sind Mitglieder der PenAlignment-Enumerierung.
Das folgende Codebeispiel zeichnet zweimal eine Linie: einmal mit einem schwarzen Stift der Breite 1 und einmal mit einem grünen Stift der Breite 10.
So variieren Sie die Breite eines Stifts
Legen Sie den Wert der Eigenschaft Alignment auf Center (die Standardeinstellung) fest, um anzugeben, dass die mit dem grünen Stift gezeichneten Pixel auf der theoretischen Linie zentriert werden sollen. Die folgende Abbildung zeigt die resultierende Zeile.
Das folgende Codebeispiel zeichnet ein Rechteck zweimal: 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 Alignment-Eigenschaft auf Center fest, um anzugeben, dass die mit dem grünen Stift gezeichneten Pixel auf der Begrenzung des Rechtecks zentriert werden.
Die folgende Abbildung zeigt das resultierende Rechteck:
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 Inset-Stift
Ä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 auf der Innenseite des Rechtecks angezeigt, wie in der folgenden Abbildung dargestellt:
Weitere Informationen
.NET Desktop feedback