Поделиться через


Pen Конструкторы

Определение

Инициализирует новый экземпляр класса Pen указанным цветом.

Перегрузки

Pen(Brush)

Инициализирует новый экземпляр класса Pen указанным значением Brush.

Pen(Color)

Инициализирует новый экземпляр класса Pen указанным цветом.

Pen(Brush, Single)

Инициализирует новый экземпляр класса Pen с заданными свойствами Brush и Width.

Pen(Color, Single)

Инициализирует новый экземпляр класса Pen указанными свойствами Color и Width.

Pen(Brush)

Исходный код:
Pen.cs
Исходный код:
Pen.cs
Исходный код:
Pen.cs

Инициализирует новый экземпляр класса Pen указанным значением Brush.

public:
 Pen(System::Drawing::Brush ^ brush);
public Pen (System.Drawing.Brush brush);
new System.Drawing.Pen : System.Drawing.Brush -> System.Drawing.Pen
Public Sub New (brush As Brush)

Параметры

brush
Brush

Объект Brush, определяющий свойства заполнения объекта Pen.

Исключения

brush имеет значение null.

Примеры

В следующем примере кода демонстрируется создание Pen с помощью Brush и эффекты задания LineJoin свойства для Pen.

Этот пример предназначен для использования с Windows Forms. Вставьте код в форму и вызовите ShowLineJoin метод при обработке события формы Paint , передавая e как PaintEventArgs.

private:
   void ShowLineJoin( PaintEventArgs^ e )
   {
      // Create a new pen.
      Pen^ skyBluePen = gcnew Pen( Brushes::DeepSkyBlue );

      // Set the pen's width.
      skyBluePen->Width = 8.0F;

      // Set the LineJoin property.
      skyBluePen->LineJoin = System::Drawing::Drawing2D::LineJoin::Bevel;

      // Draw a rectangle.
      e->Graphics->DrawRectangle( skyBluePen, Rectangle(40,40,150,200) );

      //Dispose of the pen.
      delete skyBluePen;
   }
private void ShowLineJoin(PaintEventArgs e)
{

    // Create a new pen.
    Pen skyBluePen = new Pen(Brushes.DeepSkyBlue);

    // Set the pen's width.
    skyBluePen.Width = 8.0F;

    // Set the LineJoin property.
    skyBluePen.LineJoin = System.Drawing.Drawing2D.LineJoin.Bevel;

    // Draw a rectangle.
    e.Graphics.DrawRectangle(skyBluePen, 
        new Rectangle(40, 40, 150, 200));

    //Dispose of the pen.
    skyBluePen.Dispose();
}
Private Sub ShowLineJoin(ByVal e As PaintEventArgs)

    ' Create a new pen.
    Dim skyBluePen As New Pen(Brushes.DeepSkyBlue)

    ' Set the pen's width.
    skyBluePen.Width = 8.0F

    ' Set the LineJoin property.
    skyBluePen.LineJoin = Drawing2D.LineJoin.Bevel

    ' Draw a rectangle.
    e.Graphics.DrawRectangle(skyBluePen, _
        New Rectangle(40, 40, 150, 200))

    'Dispose of the pen.
    skyBluePen.Dispose()

End Sub

Комментарии

Свойство Brush определяет способ рисования Pen линий. Линии рисуются так, как если бы они были заполнены прямоугольниками с характеристиками указанного Brushобъекта .

Свойство Width нового Pen объекта имеет значение 1 (значение по умолчанию).

Применяется к

Pen(Color)

Исходный код:
Pen.cs
Исходный код:
Pen.cs
Исходный код:
Pen.cs

Инициализирует новый экземпляр класса Pen указанным цветом.

public:
 Pen(System::Drawing::Color color);
public Pen (System.Drawing.Color color);
new System.Drawing.Pen : System.Drawing.Color -> System.Drawing.Pen
Public Sub New (color As Color)

Параметры

color
Color

Структура Color, показывающая цвет объекта Pen.

Комментарии

Свойству Color присваивается цвет, заданный параметром color . Свойство Width имеет значение 1 (значение по умолчанию).

Применяется к

Pen(Brush, Single)

Исходный код:
Pen.cs
Исходный код:
Pen.cs
Исходный код:
Pen.cs

Инициализирует новый экземпляр класса Pen с заданными свойствами Brush и Width.

public:
 Pen(System::Drawing::Brush ^ brush, float width);
public Pen (System.Drawing.Brush brush, float width);
new System.Drawing.Pen : System.Drawing.Brush * single -> System.Drawing.Pen
Public Sub New (brush As Brush, width As Single)

Параметры

brush
Brush

Объект Brush, определяющий характеристики данного объекта Pen.

width
Single

Ширина нового пера Pen.

Исключения

brush имеет значение null.

Примеры

В следующем примере кода создается Pen и демонстрируется влияние задания StartCap свойств и EndCap для Pen.

Этот пример предназначен для использования с Windows Forms. Вставьте код в форму и вызовите ShowStartAndEndCaps метод при обработке события формы Paint , передавая e как PaintEventArgs.

private:
   void Button3_Click( System::Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      Graphics^ buttonGraphics = Button3->CreateGraphics();
      Pen^ myPen = gcnew Pen( Color::ForestGreen,4.0F );
      myPen->DashStyle = System::Drawing::Drawing2D::DashStyle::DashDotDot;
      Rectangle theRectangle = Button3->ClientRectangle;
      theRectangle.Inflate(  -2, -2 );
      buttonGraphics->DrawRectangle( myPen, theRectangle );
      delete buttonGraphics;
      delete myPen;
   }
private void Button3_Click(System.Object sender, System.EventArgs e)
{

    Graphics buttonGraphics = Button3.CreateGraphics();
    Pen myPen = new Pen(Color.ForestGreen, 4.0F);
    myPen.DashStyle = System.Drawing.Drawing2D.DashStyle.DashDotDot;

    Rectangle theRectangle = Button3.ClientRectangle;
    theRectangle.Inflate(-2, -2);
    buttonGraphics.DrawRectangle(myPen, theRectangle);
    buttonGraphics.Dispose();
    myPen.Dispose();
}
Private Sub Button3_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button3.Click

    Dim buttonGraphics As Graphics = Button3.CreateGraphics()
    Dim myPen As Pen = New Pen(Color.ForestGreen, 4.0F)
    myPen.DashStyle = Drawing2D.DashStyle.DashDotDot

    Dim theRectangle As Rectangle = Button3.ClientRectangle
    theRectangle.Inflate(-2, -2)
    buttonGraphics.DrawRectangle(myPen, theRectangle)
    buttonGraphics.Dispose()
    myPen.Dispose()
End Sub

Комментарии

Параметру Brush присваивается цвет, указанный brush в параметре , свойству Width присваивается значение, указанное width в параметре , а единицам присваивается значение World.

Обратите внимание, brush что параметр также указывает Color свойство данного объекта Pen.

Если это значение равно 0, ширина в единицах устройства всегда равна 1 пикселю. На это не влияют операции масштабирования и преобразования, которые применяются для объекта Graphics, для которых Pen используется .

Применяется к

Pen(Color, Single)

Исходный код:
Pen.cs
Исходный код:
Pen.cs
Исходный код:
Pen.cs

Инициализирует новый экземпляр класса Pen указанными свойствами Color и Width.

public:
 Pen(System::Drawing::Color color, float width);
public Pen (System.Drawing.Color color, float width);
new System.Drawing.Pen : System.Drawing.Color * single -> System.Drawing.Pen
Public Sub New (color As Color, width As Single)

Параметры

color
Color

Структура Color, показывающая цвет объекта Pen.

width
Single

Значение, показывающее ширину объекта Pen.

Примеры

В следующем примере кода демонстрируется Pen создание и влияние задания DashCapсвойств , DashPatternи SmoothingMode .

Этот пример предназначен для использования с Windows Forms. Вставьте код в форму и вызовите ShowPensAndSmoothingMode метод при обработке события формы Paint , передав e как PaintEventArgs.

private:
   void ShowPensAndSmoothingMode( PaintEventArgs^ e )
   {
      // Set the SmoothingMode property to smooth the line.
      e->Graphics->SmoothingMode = System::Drawing::Drawing2D::SmoothingMode::AntiAlias;

      // Create a new Pen object.
      Pen^ greenPen = gcnew Pen( Color::Green );

      // Set the width to 6.
      greenPen->Width = 6.0F;

      // Set the DashCap to round.
      greenPen->DashCap = System::Drawing::Drawing2D::DashCap::Round;

      // Create a custom dash pattern.
      array<Single>^temp0 = {4.0F,2.0F,1.0F,3.0F};
      greenPen->DashPattern = temp0;

      // Draw a line.
      e->Graphics->DrawLine( greenPen, 20.0F, 20.0F, 100.0F, 240.0F );

      // Change the SmoothingMode to none.
      e->Graphics->SmoothingMode = System::Drawing::Drawing2D::SmoothingMode::None;

      // Draw another line.
      e->Graphics->DrawLine( greenPen, 100.0F, 240.0F, 160.0F, 20.0F );

      // Dispose of the custom pen.
      delete greenPen;
   }
private void ShowPensAndSmoothingMode(PaintEventArgs e)
{

    // Set the SmoothingMode property to smooth the line.
    e.Graphics.SmoothingMode = 
        System.Drawing.Drawing2D.SmoothingMode.AntiAlias;

    // Create a new Pen object.
    Pen greenPen = new Pen(Color.Green);

    // Set the width to 6.
    greenPen.Width = 6.0F;

    // Set the DashCap to round.
    greenPen.DashCap = System.Drawing.Drawing2D.DashCap.Round;

    // Create a custom dash pattern.
    greenPen.DashPattern = new float[]{4.0F, 2.0F, 1.0F, 3.0F};

    // Draw a line.
    e.Graphics.DrawLine(greenPen, 20.0F, 20.0F, 100.0F, 240.0F);

    // Change the SmoothingMode to none.
    e.Graphics.SmoothingMode = 
        System.Drawing.Drawing2D.SmoothingMode.None;

    // Draw another line.
    e.Graphics.DrawLine(greenPen, 100.0F, 240.0F, 160.0F, 20.0F);

    // Dispose of the custom pen.
    greenPen.Dispose();
}
Private Sub ShowPensAndSmoothingMode(ByVal e As PaintEventArgs)

    ' Set the SmoothingMode property to smooth the line.
    e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias

    ' Create a new Pen object.
    Dim greenPen As New Pen(Color.Green)

    ' Set the width to 6.
    greenPen.Width = 6.0F

    ' Set the DashCap to round.
    greenPen.DashCap = Drawing2D.DashCap.Round

    ' Create a custom dash pattern.
    greenPen.DashPattern = New Single() {4.0F, 2.0F, 1.0F, 3.0F}

    ' Draw a line.
    e.Graphics.DrawLine(greenPen, 20.0F, 20.0F, 100.0F, 240.0F)

    ' Change the SmoothingMode to none.
    e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.None

    ' Draw another line.
    e.Graphics.DrawLine(greenPen, 100.0F, 240.0F, 160.0F, 20.0F)

    ' Dispose of the custom pen.
    greenPen.Dispose()
End Sub

Комментарии

Свойству Color присваивается цвет, заданный параметром color . Свойству Width присваивается значение, указанное в параметре width . Если это значение равно 0, ширина в единицах устройства всегда равна 1 пикселю. На это не влияют операции масштабирования и преобразования, которые применяются для объекта Graphics, для которых Pen используется .

Применяется к