Настройка ширины и выравнивания пера
При создании объекта Pen можно указать ширину пера в качестве одного из аргументов конструктору. Ширину пера также можно изменить с помощью метода Pen::SetWidth .
Ширина теоретической линии равна нулю. При рисовании линии пиксели отцентрируются по теоретической линии. В следующем примере указанная линия рисуется дважды: один раз с черным пером шириной 1 и один раз с зеленым пером шириной 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);
На следующем рисунке показаны выходные данные предыдущего кода. Зеленые и черные пиксели центрируются по теоретической линии.
В следующем примере указанный прямоугольник рисуется дважды: один раз с черным пером шириной 1 и один раз с зеленым пером шириной 10. Код передает значение PenAlignmentCenter (элемент перечисления PenAlignment ) методу Pen::SetAlignment , чтобы указать, что пиксели, нарисованные зеленым пером, расположены по центру на границе прямоугольника.
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);
На следующем рисунке показаны выходные данные предыдущего кода. Зеленые пиксели расположены по центру по теоретическому прямоугольнику, который представлен черными пикселями.
Вы можете изменить выравнивание зеленого пера, изменив третий оператор в предыдущем примере следующим образом:
stat = greenPen.SetAlignment(PenAlignmentInset);
Теперь пиксели в широкой зеленой линии отображаются внутри прямоугольника, как показано на следующем рисунке.