Porady: ustawianie szerokości i wyrównania pióra
Podczas tworzenia obiektu można podać szerokość pióra Penjako jeden z argumentów konstruktora. Możesz również zmienić szerokość pióra za Width pomocą właściwości Pen klasy .
Linia teoretyczna ma szerokość 0. Gdy narysujesz linię o szerokości 1 pikseli, piksele są wyśrodkowane na linii teoretycznej. Jeśli narysujesz linię o szerokości więcej niż jednego piksela, piksele są wyśrodkowane na linii teoretycznej lub pojawiają się po jednej stronie linii teoretycznej. Właściwość wyrównania Pen pióra można ustawić, aby określić, w jaki sposób piksele rysowane za pomocą tego pióra będą ustawione względem linii teoretycznych.
CenterWartości , OutsetiInset, które są wyświetlane w poniższych przykładach kodu, są elementami członkowskimi PenAlignment wyliczenia.
Poniższy przykład kodu rysuje wiersz dwa razy: raz z czarnym piórem o szerokości 1 i raz zielonym piórem o szerokości 10.
Aby zmienić szerokość pióra
Ustaw wartość Alignment właściwości na Center (wartość domyślna), aby określić, że piksele rysowane za pomocą zielonego pióra będą wyśrodkowane w wierszu teoretycznym. Poniższa ilustracja przedstawia wynikową linię.
Poniższy przykład kodu rysuje prostokąt dwa razy: raz z czarnym piórem o szerokości 1 i raz zielonym piórem o szerokości 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)
Aby zmienić wyrównanie pióra
Ustaw wartość Alignment właściwości, aby Center określić, że piksele rysowane za pomocą zielonego pióra będą wyśrodkowane na granicy prostokąta.
Poniższa ilustracja przedstawia wynikowy prostokąt:
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)
Aby utworzyć pióro inset
Zmień wyrównanie zielonego pióra, modyfikując trzecią instrukcję w poprzednim przykładzie kodu w następujący sposób:
greenPen.Alignment = PenAlignment.Inset;
greenPen.Alignment = PenAlignment.Inset
Teraz piksele w szerokiej zielonej linii pojawiają się wewnątrz prostokąta, jak pokazano na poniższej ilustracji:
Zobacz też
.NET Desktop feedback