Festlegen der Stiftbreite und -ausrichtung

Wenn Sie ein Stiftobjekt erstellen, können Sie die Stiftbreite als eines der Argumente für den Konstruktor bereitstellen. Sie können die Stiftbreite auch mithilfe der Pen::SetWidth-Methode ändern.

Eine theoretische Linie hat eine Breite von 0 (null). Wenn Sie eine Linie zeichnen, werden die Pixel auf der theoretischen Linie zentriert. Im folgenden Beispiel wird eine angegebene Zeile zweimal zeichnet: einmal mit einem schwarzen Stift der Breite 1 und einmal mit einem grünen Stift der Breite 10.

Pen blackPen(Color(255, 0, 0, 0), 1);
Pen greenPen(Color(255, 0, 255, 0), 10);
stat = greenPen.SetAlignment(PenAlignmentCenter);

// Draw the line with the wide green pen.
stat = graphics.DrawLine(&greenPen, 10, 100, 100, 50);

// Draw the same line with the thin black pen.
stat = graphics.DrawLine(&blackPen, 10, 100, 100, 50);

Die folgende Abbildung zeigt die Ausgabe des vorangehenden Codes. Die grünen und schwarzen Pixel werden auf der theoretischen Linie zentriert.

Abbildung, die eine schlanke, diagonale, schwarze Linie zeigt, die von einer breiten, grünen Linie umgeben ist

Das folgende Beispiel zeichnet ein angegebenes Rechteck zweimal: einmal mit einem schwarzen Stift der Breite 1 und einmal mit einem grünen Stift der Breite 10. Der Code übergibt den Wert PenAlignmentCenter (ein Element der PenAlignment-Enumeration) an die Pen::SetAlignment-Methode, um anzugeben, dass die mit dem grünen Stift gezeichneten Pixel an der Begrenzung des Rechtecks zentriert sind.

Pen blackPen(Color(255, 0, 0, 0), 1);
Pen greenPen(Color(255, 0, 255, 0), 10);
stat = greenPen.SetAlignment(PenAlignmentCenter);

// Draw the rectangle with the wide green pen.
stat = graphics.DrawRectangle(&greenPen, 10, 100, 50, 50);

// Draw the same rectangle with the thin black pen.
stat = graphics.DrawRectangle(&blackPen, 10, 100, 50, 50);

Die folgende Abbildung zeigt die Ausgabe des vorangehenden Codes. Die grünen Pixel werden auf dem theoretischen Rechteck zentriert, das durch die schwarzen Pixel dargestellt wird.

Abbildung einer schlanken schwarzen Linie in Form eines Rechtecks, umschlossen von einer breiteren grünen Linie

Sie können die Ausrichtung des grünen Stifts ändern, indem Sie die dritte Anweisung im vorherigen Beispiel wie folgt ändern:

stat = greenPen.SetAlignment(PenAlignmentInset);

Nun werden die Pixel in der breiten grünen Linie im Inneren des Rechtecks angezeigt, wie in der folgenden Abbildung dargestellt.

Abbildung, die eine dünne schwarze Linie in form einer Rectange zeigt, die eine breite grüne Linie der gleichen Form umschließt