Практическое руководство. Задание толщины и выравнивания пераHow to: Set Pen Width and Alignment

При создании Pen, указать толщину пера в качестве одного из аргументов конструктора.When you create a Pen, you can supply the pen width as one of the arguments to the constructor. Можно также изменить ширину пера Width свойство Pen класса.You can also change the pen width with the Width property of the Pen class.

Теоретической линии имеет ширину 0.A theoretical line has a width of 0. При рисовании линии, одну точку, пиксели центрируются по теоретической линии.When you draw a line that is 1 pixel wide, the pixels are centered on the theoretical line. Если нарисовать линию, является более чем одному пикселю, пиксели либо центрируются по теоретической линии появятся или к одной стороне от теоретической линии.If you draw a line that is more than one pixel wide, the pixels are either centered on the theoretical line or appear to one side of the theoretical line. Можно задать свойство выравнивания из Pen чтобы определить положение точек, рисуемых при помощи этого пера по отношению к теоретической линии.You can set the pen alignment property of a Pen to determine how the pixels drawn with that pen will be positioned relative to theoretical lines.

Значения Center, Outset, и Inset , отображаемые в следующих примерах кода являются членами PenAlignment перечисления.The values Center, Outset, and Inset that appear in the following code examples are members of the PenAlignment enumeration.

В следующем примере кода рисует линию дважды: один раз черным пером толщиной в 1 и один раз с помощью зеленого пера шириной 10.The following code example draws a line twice: once with a black pen of width 1 and once with a green pen of width 10.

Для изменения ширины пераTo vary the width of a pen

  • Установите для параметра Alignment свойства Center (по умолчанию) будет что рисование зеленым пером пикселей по теоретической линии.Set the value of the Alignment property to Center (the default) to specify that pixels drawn with the green pen will be centered on the theoretical line. Ниже показан итоговый строки.The following illustration shows the resulting line.

    Черный тонкой линии зеленым цветом.

    В следующем примере рисуется прямоугольник дважды: один раз черным пером толщиной в 1 и один раз с помощью зеленого пера шириной 10.The following code example draws a rectangle twice: once with a black pen of width 1 and once with a green pen of width 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)
    
    

Изменение выравнивания пераTo change the alignment of a pen

  • Установите для параметра Alignment свойства Center будет что рисование зеленым пером пикселей по границ прямоугольника.Set the value of the Alignment property to Center to specify that the pixels drawn with the green pen will be centered on the boundary of the rectangle.

    На следующем рисунке показан полученный прямоугольник.The following illustration shows the resulting rectangle:

    Прямоугольник, нарисованных при помощи черный тонких линий, выделенная зеленым цветом.

    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)
    
    

Для создания вложенного пераTo create an inset pen

  • Измените выравнивание зеленого пера, изменив третья инструкция в предыдущем примере кода следующим образом:Change the green pen's alignment by modifying the third statement in the preceding code example as follows:

    greenPen.Alignment = PenAlignment.Inset;
    
    greenPen.Alignment = PenAlignment.Inset
    
    

    Теперь пикселов в ширину зеленая линия отображаются внутри прямоугольника, как показано на следующем рисунке:Now the pixels in the wide green line appear on the inside of the rectangle as shown in the following illustration:

    Прямоугольник, нарисованных при помощи черных линий, связывающих жирной зеленой линией внутри.

См. такжеSee also