Graphics.BeginContainer Метод

Определение

Сохраняет графический контейнер с текущим состоянием этого Graphics и открывает и использует новый графический контейнер.

Перегрузки

Имя Описание
BeginContainer()

Сохраняет графический контейнер с текущим состоянием этого Graphics и открывает и использует новый графический контейнер.

BeginContainer(Rectangle, Rectangle, GraphicsUnit)

Сохраняет графический контейнер с текущим состоянием этого Graphics и открывает и использует новый графический контейнер с указанным преобразованием масштабирования.

BeginContainer(RectangleF, RectangleF, GraphicsUnit)

Сохраняет графический контейнер с текущим состоянием этого Graphics и открывает и использует новый графический контейнер с указанным преобразованием масштабирования.

BeginContainer()

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

Сохраняет графический контейнер с текущим состоянием этого Graphics и открывает и использует новый графический контейнер.

public:
 System::Drawing::Drawing2D::GraphicsContainer ^ BeginContainer();
public System.Drawing.Drawing2D.GraphicsContainer BeginContainer();
member this.BeginContainer : unit -> System.Drawing.Drawing2D.GraphicsContainer
Public Function BeginContainer () As GraphicsContainer

Возвращаемое значение

Этот метод возвращает GraphicsContainer состояние этого Graphics метода во время вызова метода.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требуется PaintEventArgse />, который является параметром обработчика событий Paint. Код выполняет следующие действия:

  • Открывает новый графический контейнер и сохраняет старый контейнер.

  • Преобразует координаты мира в контейнере.

  • Заполняет красный прямоугольник в (переведенные координаты нового контейнера).

  • Закрывает новый контейнер и восстанавливает сохраненный контейнер.

  • Заполняет зеленый прямоугольник (к нетрансляционным координатам) сохраненного контейнера.

Результатом является зеленый прямоугольник, который накладывает красный прямоугольник того же размера.

private:
   void BeginContainerVoid( PaintEventArgs^ e )
   {
      // Begin graphics container.
      GraphicsContainer^ containerState = e->Graphics->BeginContainer();

      // Translate world transformation.
      e->Graphics->TranslateTransform( 100.0F, 100.0F );

      // Fill translated rectangle in container with red.
      e->Graphics->FillRectangle( gcnew SolidBrush( Color::Red ), 0, 0, 200, 200 );

      // End graphics container.
      e->Graphics->EndContainer( containerState );

      // Fill untransformed rectangle with green.
      e->Graphics->FillRectangle( gcnew SolidBrush( Color::Green ), 0, 0, 200, 200 );
   }
private void BeginContainerVoid(PaintEventArgs e)
{
    // Begin graphics container.
    GraphicsContainer containerState = e.Graphics.BeginContainer();
             
    // Translate world transformation.
    e.Graphics.TranslateTransform(100.0F, 100.0F);
             
    // Fill translated rectangle in container with red.
    e.Graphics.FillRectangle(new SolidBrush(Color.Red), 0, 0, 200, 200);
             
    // End graphics container.
    e.Graphics.EndContainer(containerState);
             
    // Fill untransformed rectangle with green.
    e.Graphics.FillRectangle(new SolidBrush(Color.Green), 0, 0, 200, 200);
}
Private Sub BeginContainerVoid(ByVal e As PaintEventArgs)

    ' Begin graphics container.
    Dim containerState As GraphicsContainer = _
    e.Graphics.BeginContainer()

    ' Translate world transformation.
    e.Graphics.TranslateTransform(100.0F, 100.0F)

    ' Fill translated rectangle in container with red.
    e.Graphics.FillRectangle(New SolidBrush(Color.Red), 0, 0, 200, 200)

    ' End graphics container.
    e.Graphics.EndContainer(containerState)

    ' Fill untransformed rectangle with green.
    e.Graphics.FillRectangle(New SolidBrush(Color.Green), 0, 0, _
    200, 200)
End Sub

Комментарии

Используйте этот метод с методом EndContainer для создания вложенных графических контейнеров. Графические контейнеры сохраняют состояние графики, например преобразование, область вырезки и свойства отрисовки.

При вызове BeginContainer метода блока сведений Graphics, который содержит состояние стека Graphics . Метод BeginContainer возвращает объект, определяющий GraphicsContainer этот блок сведений. При передаче объекта EndContainer идентификации методу блок сведений удаляется из стека и используется для восстановления Graphics состояния, в которое он находился во время BeginContainer вызова метода.

Контейнеры могут быть вложены; То есть перед вызовом BeginContainerEndContainer метода можно вызвать несколько раз. При каждом вызове BeginContainer метода информационный блок помещается в стек и получается GraphicsContainer для блока информации. При передаче одного из этих объектов EndContainerGraphics методу возвращается в состояние, в которое он был во время BeginContainer вызова метода, возвращающего это конкретное GraphicsContainer. Блок сведений, помещенный в стек с помощью этого BeginContainer вызова метода, удаляется из стека, а все блоки информации, помещенные в этот стек после этого BeginContainer вызова метода, также удаляются.

Вызовы к блоку сведений о методе Save размещаются в том же стеке, что и вызовы BeginContainer метода. Так же, как EndContainer вызов метода связан с вызовом BeginContainer метода, Restore вызов метода сопряжен с вызовом Save метода.

При вызове EndContainer метода все блоки информации, размещенные в стеке ( Save методом или BeginContainer методом) после соответствующего вызова BeginContainer метода удаляются из стека. Аналогичным образом, при вызове Restore метода все блоки информации, помещенные в стек ( Save методом или BeginContainer методом) после соответствующего вызова Save метода удаляются из стека.

Состояние графики, установленное BeginContainer методом, включает качества отрисовки состояния графики по умолчанию; любые изменения состояния качества отрисовки, существующие при вызове метода, сбрасываются на значения по умолчанию.

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

BeginContainer(Rectangle, Rectangle, GraphicsUnit)

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

Сохраняет графический контейнер с текущим состоянием этого Graphics и открывает и использует новый графический контейнер с указанным преобразованием масштабирования.

public:
 System::Drawing::Drawing2D::GraphicsContainer ^ BeginContainer(System::Drawing::Rectangle dstrect, System::Drawing::Rectangle srcrect, System::Drawing::GraphicsUnit unit);
public System.Drawing.Drawing2D.GraphicsContainer BeginContainer(System.Drawing.Rectangle dstrect, System.Drawing.Rectangle srcrect, System.Drawing.GraphicsUnit unit);
member this.BeginContainer : System.Drawing.Rectangle * System.Drawing.Rectangle * System.Drawing.GraphicsUnit -> System.Drawing.Drawing2D.GraphicsContainer
Public Function BeginContainer (dstrect As Rectangle, srcrect As Rectangle, unit As GraphicsUnit) As GraphicsContainer

Параметры

dstrect
Rectangle

Rectangle Структура, которая вместе с srcrect параметром задает преобразование масштабирования для контейнера.

srcrect
Rectangle

Rectangle Структура, которая вместе с dstrect параметром задает преобразование масштабирования для контейнера.

unit
GraphicsUnit

GraphicsUnit Элемент перечисления, указывающий единицу измерения для контейнера.

Возвращаемое значение

Этот метод возвращает GraphicsContainer состояние этого Graphics метода во время вызова метода.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требуется PaintEventArgse />, который является параметром обработчика событий Paint. Код выполняет следующие действия:

  • Создает два прямоугольника, чтобы указать преобразование масштабирования для нового контейнера.

  • Открывает новый графический контейнер и сохраняет старый контейнер.

  • Заполняет красный прямоугольник в (масштабируемые координаты) нового контейнера.

  • Закрывает новый контейнер и восстанавливает сохраненный контейнер.

  • Заполняет зеленый прямоугольник (к немасштабируемым координатам) сохраненного контейнера.

Результатом является зеленый прямоугольник, который накладывает меньший красный прямоугольник.

private:
   void BeginContainerRectangle( PaintEventArgs^ e )
   {
      // Define transformation for container.
      Rectangle srcRect = Rectangle(0,0,200,200);
      Rectangle destRect = Rectangle(100,100,150,150);

      // Begin graphics container.
      GraphicsContainer^ containerState = e->Graphics->BeginContainer( destRect, srcRect, GraphicsUnit::Pixel );

      // Fill red rectangle in container.
      e->Graphics->FillRectangle( gcnew SolidBrush( Color::Red ), 0, 0, 200, 200 );

      // End graphics container.
      e->Graphics->EndContainer( containerState );

      // Fill untransformed rectangle with green.
      e->Graphics->FillRectangle( gcnew SolidBrush( Color::Green ), 0, 0, 200, 200 );
   }
private void BeginContainerRectangle(PaintEventArgs e)
{
    // Define transformation for container.
    Rectangle srcRect = new Rectangle(0, 0, 200, 200);
    Rectangle destRect = new Rectangle(100, 100, 150, 150);
             
    // Begin graphics container.
    GraphicsContainer containerState = e.Graphics.BeginContainer(
        destRect, srcRect,
        GraphicsUnit.Pixel);
             
    // Fill red rectangle in container.
    e.Graphics.FillRectangle(new SolidBrush(Color.Red), 0, 0, 200, 200);
             
    // End graphics container.
    e.Graphics.EndContainer(containerState);
             
    // Fill untransformed rectangle with green.
    e.Graphics.FillRectangle(new SolidBrush(Color.Green), 0, 0, 200, 200);
}
Private Sub BeginContainerRectangle(ByVal e As PaintEventArgs)

    ' Define transformation for container.
    Dim srcRect As New Rectangle(0, 0, 200, 200)
    Dim destRect As New Rectangle(100, 100, 150, 150)

    ' Begin graphics container.
    Dim containerState As GraphicsContainer = _
    e.Graphics.BeginContainer(destRect, srcRect, GraphicsUnit.Pixel)

    ' Fill red rectangle in container.
    e.Graphics.FillRectangle(New SolidBrush(Color.Red), 0, 0, 200, 200)

    ' End graphics container.
    e.Graphics.EndContainer(containerState)

    ' Fill untransformed rectangle with green.
    e.Graphics.FillRectangle(New SolidBrush(Color.Green), 0, 0, _
    200, 200)
End Sub

Комментарии

Используйте этот метод с методом EndContainer для создания вложенных графических контейнеров. Графические контейнеры сохраняют состояние графики, например преобразование, область вырезки и свойства отрисовки.

При вызове BeginContainer метода блока сведений Graphics, который содержит состояние стека Graphics . Метод BeginContainer возвращает объект, определяющий GraphicsContainer этот блок сведений. При передаче объекта EndContainer идентификации методу блок сведений удаляется из стека и используется для восстановления Graphics состояния, в которое он находился во время BeginContainer вызова метода.

Контейнеры могут быть вложены; То есть перед вызовом BeginContainerEndContainer метода можно вызвать несколько раз. При каждом вызове BeginContainer метода информационный блок помещается в стек и получается GraphicsContainer для блока информации. При передаче одного из этих объектов EndContainerGraphics методу возвращается в состояние, в которое он был во время BeginContainer вызова метода, возвращающего это конкретное GraphicsContainer. Блок сведений, помещенный в стек с помощью этого BeginContainer вызова метода, удаляется из стека, а все блоки информации, помещенные в этот стек после этого BeginContainer вызова метода, также удаляются.

Вызовы к блоку сведений о методе Save размещаются в том же стеке, что и вызовы BeginContainer метода. Так же, как EndContainer вызов метода связан с вызовом BeginContainer метода, Restore вызов метода сопряжен с вызовом Save метода.

При вызове EndContainer метода все блоки информации, размещенные в стеке ( Save методом или BeginContainer методом) после соответствующего вызова BeginContainer метода удаляются из стека. Аналогичным образом, при вызове Restore метода все блоки информации, помещенные в стек ( Save методом или BeginContainer методом) после соответствующего вызова Save метода удаляются из стека.

Этот метод задает преобразование масштабирования для нового графического контейнера с параметрами и dstrect параметрамиsrcrect. Масштаб равен преобразованию, которое при применении к srcrect, приводит к dstrect.

Состояние графики, установленное BeginContainer методом, включает качества отрисовки состояния графики по умолчанию; любые изменения состояния качества отрисовки, существующие при вызове метода, сбрасываются на значения по умолчанию.

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

BeginContainer(RectangleF, RectangleF, GraphicsUnit)

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

Сохраняет графический контейнер с текущим состоянием этого Graphics и открывает и использует новый графический контейнер с указанным преобразованием масштабирования.

public:
 System::Drawing::Drawing2D::GraphicsContainer ^ BeginContainer(System::Drawing::RectangleF dstrect, System::Drawing::RectangleF srcrect, System::Drawing::GraphicsUnit unit);
public System.Drawing.Drawing2D.GraphicsContainer BeginContainer(System.Drawing.RectangleF dstrect, System.Drawing.RectangleF srcrect, System.Drawing.GraphicsUnit unit);
member this.BeginContainer : System.Drawing.RectangleF * System.Drawing.RectangleF * System.Drawing.GraphicsUnit -> System.Drawing.Drawing2D.GraphicsContainer
Public Function BeginContainer (dstrect As RectangleF, srcrect As RectangleF, unit As GraphicsUnit) As GraphicsContainer

Параметры

dstrect
RectangleF

RectangleF Структура, которая вместе с srcrect параметром задает преобразование масштабирования для нового графического контейнера.

srcrect
RectangleF

RectangleF Структура, которая вместе с dstrect параметром задает преобразование масштабирования для нового графического контейнера.

unit
GraphicsUnit

GraphicsUnit Элемент перечисления, указывающий единицу измерения для контейнера.

Возвращаемое значение

Этот метод возвращает GraphicsContainer состояние этого Graphics метода во время вызова метода.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требуется PaintEventArgse />, который является параметром обработчика событий Paint. Код выполняет следующие действия:

  • Создает два прямоугольника, чтобы указать преобразование масштабирования для нового контейнера.

  • Открывает новый графический контейнер и сохраняет старый контейнер.

  • Заполняет красный прямоугольник в (масштабируемые координаты) нового контейнера.

  • Закрывает новый контейнер и восстанавливает сохраненный контейнер.

  • Заполняет зеленый прямоугольник (к немасштабируемым координатам) сохраненного контейнера.

Результатом является зеленый прямоугольник, который накладывает меньший красный прямоугольник.

private:
   void BeginContainerRectangleF( PaintEventArgs^ e )
   {
      // Define transformation for container.
      RectangleF srcRect = RectangleF(0.0F,0.0F,200.0F,200.0F);
      RectangleF destRect = RectangleF(100.0F,100.0F,150.0F,150.0F);

      // Begin graphics container.
      GraphicsContainer^ containerState = e->Graphics->BeginContainer( destRect, srcRect, GraphicsUnit::Pixel );

      // Fill red rectangle in container.
      e->Graphics->FillRectangle( gcnew SolidBrush( Color::Red ), 0.0F, 0.0F, 200.0F, 200.0F );

      // End graphics container.
      e->Graphics->EndContainer( containerState );

      // Fill untransformed rectangle with green.
      e->Graphics->FillRectangle( gcnew SolidBrush( Color::Green ), 0.0F, 0.0F, 200.0F, 200.0F );
   }
private void BeginContainerRectangleF(PaintEventArgs e)
{
    // Define transformation for container.
    RectangleF srcRect = new RectangleF(0.0F, 0.0F, 200.0F, 200.0F);
    RectangleF destRect = new RectangleF(100.0F, 100.0F, 150.0F, 150.0F);
             
    // Begin graphics container.
    GraphicsContainer containerState = e.Graphics.BeginContainer(
        destRect, srcRect,
        GraphicsUnit.Pixel);
             
    // Fill red rectangle in container.
    e.Graphics.FillRectangle(new SolidBrush(Color.Red), 0.0F, 0.0F, 200.0F, 200.0F);
             
    // End graphics container.
    e.Graphics.EndContainer(containerState);
             
    // Fill untransformed rectangle with green.
    e.Graphics.FillRectangle(new SolidBrush(Color.Green), 0.0F, 0.0F, 200.0F, 200.0F);
}
Private Sub BeginContainerRectangleF(ByVal e As PaintEventArgs)

    ' Define transformation for container.
    Dim srcRect As New RectangleF(0.0F, 0.0F, 200.0F, 200.0F)
    Dim destRect As New RectangleF(100.0F, 100.0F, 150.0F, 150.0F)

    ' Begin graphics container.
    Dim containerState As GraphicsContainer = _
    e.Graphics.BeginContainer(destRect, srcRect, GraphicsUnit.Pixel)

    ' Fill red rectangle in container.
    e.Graphics.FillRectangle(New SolidBrush(Color.Red), 0.0F, 0.0F, _
    200.0F, 200.0F)

    ' End graphics container.
    e.Graphics.EndContainer(containerState)

    ' Fill untransformed rectangle with green.
    e.Graphics.FillRectangle(New SolidBrush(Color.Green), 0.0F, 0.0F, _
    200.0F, 200.0F)
End Sub

Комментарии

Используйте этот метод с методом EndContainer для создания вложенных графических контейнеров. Графические контейнеры сохраняют состояние графики, например преобразование, область вырезки и свойства отрисовки.

При вызове BeginContainer метода блока сведений Graphics, который содержит состояние стека Graphics . Метод BeginContainer возвращает объект, определяющий GraphicsContainer этот блок сведений. При передаче объекта EndContainer идентификации методу блок сведений удаляется из стека и используется для восстановления Graphics состояния, в которое он находился во время BeginContainer вызова метода.

Контейнеры могут быть вложены; То есть перед вызовом BeginContainerEndContainer метода можно вызвать несколько раз. При каждом вызове BeginContainer метода информационный блок помещается в стек и получается GraphicsContainer для блока информации. При передаче одного из этих объектов EndContainerGraphics методу возвращается в состояние, в которое он был во время BeginContainer вызова метода, возвращающего это конкретное GraphicsContainer. Блок сведений, помещенный в стек с помощью этого BeginContainer вызова метода, удаляется из стека, а все блоки информации, помещенные в этот стек после этого BeginContainer вызова метода, также удаляются.

Вызовы к блоку сведений о методе Save размещаются в том же стеке, что и вызовы BeginContainer метода. Так же, как EndContainer вызов метода связан с вызовом BeginContainer метода, Restore вызов метода сопряжен с вызовом Save метода.

При вызове EndContainer метода все блоки информации, размещенные в стеке ( Save методом или BeginContainer методом) после соответствующего вызова BeginContainer метода удаляются из стека. Аналогичным образом, при вызове Restore метода все блоки информации, помещенные в стек ( Save методом или BeginContainer методом) после соответствующего вызова Save метода удаляются из стека.

Этот метод задает преобразование масштабирования для нового графического контейнера с параметрами и dstrect параметрамиsrcrect. Масштаб равен преобразованию, которое при применении к srcrect, приводит к dstrect.

Состояние графики, установленное BeginContainer методом, включает качества отрисовки состояния графики по умолчанию; любые изменения состояния качества отрисовки, существующие при вызове метода, сбрасываются на значения по умолчанию.

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