Udostępnij za pośrednictwem


Jak: Ustawić szerokość i wyrównanie pióra

Tworząc Pen, można podać grubość pióra jako jeden z argumentów konstruktora. Możesz również za pomocą właściwości Width zmienić szerokość pióra w klasie Pen.

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. Można ustawić właściwość wyrównania pióra Pen, aby określić, jak piksele narysowane tym piórem będą pozycjonowane w odniesieniu do linii teoretycznych.

Wartości Center, Outseti Inset, które są wyświetlane w poniższych przykładach kodu, są elementami wyliczenia PenAlignment.

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ść właściwości Alignment 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ę.

    Cienka czarna linia z zielonym wyróżnieniem.

    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 do pisania

  • Ustaw wartość właściwości Alignment na Center, aby 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:

    Prostokąt narysowany czarnymi cienkimi liniami z zielonym wyróżnieniem.

    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 z wkładką

  • Zmień wyrównanie zielonego pióra, edytują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:

    Prostokąt rysowany czarnymi liniami z szeroką zieloną linią wewnątrz.

Zobacz też