Freigeben über


Festlegen der Stiftbreite und -ausrichtung

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

Eine theoretische Linie hat eine Breite von 0. Wenn Sie eine Linie zeichnen, werden die Pixel auf der theoretischen Linie zentriert. Im folgenden Beispiel wird zweimal eine angegebene Linie gezeichnet: 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 vorherigen Codes. Die grünen Pixel und die schwarzen Pixel werden auf der theoretischen Linie zentriert.

Abbildung einer dünnen, diagonalen, schwarzen Linie, die von einer breiten, grünen Linie umgeben ist

Im folgenden Beispiel wird ein angegebenes Rechteck zweimal gezeichnet: 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 auf 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 vorherigen Codes. Die grünen Pixel werden auf dem theoretischen Rechteck zentriert, das durch die schwarzen Pixel dargestellt wird.

Abbildung einer dünnen schwarzen Linie in Form eines Rechtecks, umgeben 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 auf der Innenseite des Rechtecks angezeigt, wie in der folgenden Abbildung gezeigt.

Abbildung einer dünnen schwarzen Linie in Form einer Rektange, die eine breite grüne Linie derselben Form einschließt