Graphics.BeginContainer Graphics.BeginContainer Graphics.BeginContainer Graphics.BeginContainer Method

정의

그래픽 컨테이너를 이 Graphics의 현재 상태로 저장하고 새 그래픽 컨테이너를 열어 사용합니다.Saves a graphics container with the current state of this Graphics and opens and uses a new graphics container.

오버로드

BeginContainer() BeginContainer() BeginContainer() BeginContainer()

그래픽 컨테이너를 이 Graphics의 현재 상태로 저장하고 새 그래픽 컨테이너를 열어 사용합니다.Saves a graphics container with the current state of this Graphics and opens and uses a new graphics container.

BeginContainer(Rectangle, Rectangle, GraphicsUnit) BeginContainer(Rectangle, Rectangle, GraphicsUnit) BeginContainer(Rectangle, Rectangle, GraphicsUnit) BeginContainer(Rectangle, Rectangle, GraphicsUnit)

그래픽 컨테이너를 이 Graphics의 현재 상태로 저장하고 지정된 크기 조정 변환으로 새 그래픽 컨테이너를 열어 사용합니다.Saves a graphics container with the current state of this Graphics and opens and uses a new graphics container with the specified scale transformation.

BeginContainer(RectangleF, RectangleF, GraphicsUnit) BeginContainer(RectangleF, RectangleF, GraphicsUnit) BeginContainer(RectangleF, RectangleF, GraphicsUnit) BeginContainer(RectangleF, RectangleF, GraphicsUnit)

그래픽 컨테이너를 이 Graphics의 현재 상태로 저장하고 지정된 크기 조정 변환으로 새 그래픽 컨테이너를 열어 사용합니다.Saves a graphics container with the current state of this Graphics and opens and uses a new graphics container with the specified scale transformation.

BeginContainer() BeginContainer() BeginContainer() BeginContainer()

그래픽 컨테이너를 이 Graphics의 현재 상태로 저장하고 새 그래픽 컨테이너를 열어 사용합니다.Saves a graphics container with the current state of this Graphics and opens and uses a new graphics container.

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

반환

이 메서드는 호출되었을 때 이 Graphics의 상태를 나타내는 GraphicsContainer를 반환합니다.This method returns a GraphicsContainer that represents the state of this Graphics at the time of the method call.

예제

다음 코드 예제는 Windows Forms에서 사용 하도록 설계 되었으며 필요 PaintEventArgs e의 매개 변수는 Paint 이벤트 처리기입니다.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. 이 코드에서는 다음 작업을 수행합니다.The code performs the following actions:

  • 새 그래픽 컨테이너를 열고 이전 컨테이너를 저장 합니다.Opens a new graphics container and saves the old container.

  • 컨테이너에서 세계 좌표를 변환합니다.Translates the world coordinates in the container.

  • 빨간색 사각형을 채우는 (의 좌표를 변환 합니다) 새 컨테이너입니다.Fills a red rectangle in the (translated coordinates of the) new container.

  • 새 컨테이너를 닫고 저장된 된 컨테이너를 복원 합니다.Closes the new container and restores the saved container.

  • 저장된 된 컨테이너의 녹색 사각형 (변환된 된 좌표)을 채웁니다.Fills a green rectangle (to the untranslated coordinates) of the saved container.

결과 동일한 크기의 빨간색 사각형 위에 놓입니다 녹색 사각형입니다.The result is a green rectangle that overlies a red rectangle of the same size.

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 중첩 된 graphics 컨테이너를 만드는 방법.Use this method with the EndContainer method to create nested graphics containers. Graphics 컨테이너에는 변환, 클리핑 영역 및 렌더링 속성과 같은 그래픽 상태를 유지 합니다.Graphics containers retain graphics state, such as transformation, clipping region, and rendering properties.

호출 하는 경우는 BeginContainer 메서드를 Graphics, 상태를 포함 하는 정보 블록이 Graphics 스택에 배치 됩니다.When you call the BeginContainer method of a Graphics, an information block that holds the state of the Graphics is put on a stack. 합니다 BeginContainer 메서드가 반환 되는 GraphicsContainer 정보 블록을 식별 하는 합니다.The BeginContainer method returns a GraphicsContainer that identifies that information block. 식별 하는 개체를 전달 하는 경우는 EndContainer 메서드 정보 블록 스택에서 제거 되 고 복원 하는 데 사용 되는 Graphics 당시 시점의 상태로 BeginContainer 메서드 호출 합니다.When you pass the identifying object to the EndContainer method, the information block is removed from the stack and is used to restore the Graphics to the state it was in at the time of the BeginContainer method call.

컨테이너는 중첩 될 수 있습니다. 즉, 호출할 수 있습니다 합니다 BeginContainer 메서드를 호출 하기 전에 여러 번의 EndContainer 메서드.Containers can be nested; that is, you can call the BeginContainer method several times before you call the EndContainer method. 호출할 때마다 합니다 BeginContainer 메서드 정보 블록을 스택에 배치 되 고 수신 하는 GraphicsContainer 정보 블록에 대 한 합니다.Each time you call the BeginContainer method, an information block is put on the stack, and you receive a GraphicsContainer for the information block. 해당 개체를 하나 전달 하는 경우는 EndContainer 메서드를를 Graphics 당시 시점의 상태로 반환 됩니다 합니다 BeginContainer 는 특정 반환 하는 메서드 호출 GraphicsContainer.When you pass one of those objects to the EndContainer method, the Graphics is returned to the state it was in at the time of the BeginContainer method call that returned that particular GraphicsContainer. 정보 블록에서 스택에 배치 BeginContainer 메서드 호출 스택에서 제거 되 고 그 후 해당 스택에 배치 하는 모든 정보 블록 BeginContainer 메서드 호출도 제거 됩니다.The information block placed on the stack by that BeginContainer method call is removed from the stack, and all information blocks placed on that stack after that BeginContainer method call are also removed.

에 대 한 호출을 Save 메서드 호출 스택의 동일 위치 정보 블록을 BeginContainer 메서드.Calls to the Save method place information blocks on the same stack as calls to the BeginContainer method. 처럼를 EndContainer 메서드 호출을 이룹니다를 BeginContainer 메서드 호출을 Restore 메서드 호출을 이룹니다를 Save 메서드 호출 합니다.Just as an EndContainer method call is paired with a BeginContainer method call, a Restore method call is paired with a Save method call.

호출 하는 경우는 EndContainer 메서드를 스택에 배치 된 모든 정보 블록 (여는 Save 메서드 또는 BeginContainer 메서드) 해당 호출 후는 BeginContainer 메서드 스택에서 제거 됩니다.When you call the EndContainer method, all information blocks placed on the stack (by the Save method or by the BeginContainer method) after the corresponding call to the BeginContainer method are removed from the stack. 마찬가지로 호출 하는 경우는 Restore 메서드를 스택에 배치 된 모든 정보 블록 (여는 Save 메서드 또는 BeginContainer 메서드) 해당 호출 후는 Save 메서드 스택에서 제거 됩니다.Likewise, when you call the Restore method, all information blocks placed on the stack (by the Save method or by the BeginContainer method) after the corresponding call to the Save method are removed from the stack.

설정 된 그래픽 상태는 BeginContainer 렌더링 품질을 기본 그래픽 상태를 포함 하는 메서드; 메서드를 호출 하는 경우 기존 렌더링 품질 상태 변경 내용은 기본값으로 다시 설정 됩니다.The graphics state established by the BeginContainer method includes the rendering qualities of the default graphics state; any rendering-quality state changes existing when the method is called are reset to the default values.

BeginContainer(Rectangle, Rectangle, GraphicsUnit) BeginContainer(Rectangle, Rectangle, GraphicsUnit) BeginContainer(Rectangle, Rectangle, GraphicsUnit) BeginContainer(Rectangle, Rectangle, GraphicsUnit)

그래픽 컨테이너를 이 Graphics의 현재 상태로 저장하고 지정된 크기 조정 변환으로 새 그래픽 컨테이너를 열어 사용합니다.Saves a graphics container with the current state of this Graphics and opens and uses a new graphics container with the specified scale transformation.

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 Rectangle Rectangle

srcrect 매개 변수로 컨테이너의 크기 조정 변환을 지정하는 Rectangle 구조체입니다.Rectangle structure that, together with the srcrect parameter, specifies a scale transformation for the container.

srcrect
Rectangle Rectangle Rectangle Rectangle

dstrect 매개 변수로 컨테이너의 크기 조정 변환을 지정하는 Rectangle 구조체입니다.Rectangle structure that, together with the dstrect parameter, specifies a scale transformation for the container.

unit
GraphicsUnit GraphicsUnit GraphicsUnit GraphicsUnit

컨테이너의 측정 단위를 지정하는 GraphicsUnit 열거형의 멤버입니다.Member of the GraphicsUnit enumeration that specifies the unit of measure for the container.

반환

이 메서드는 호출되었을 때 이 Graphics의 상태를 나타내는 GraphicsContainer를 반환합니다.This method returns a GraphicsContainer that represents the state of this Graphics at the time of the method call.

예제

다음 코드 예제는 Windows Forms에서 사용 하도록 설계 되었으며 필요 PaintEventArgs e의 매개 변수는 Paint 이벤트 처리기입니다.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. 이 코드에서는 다음 작업을 수행합니다.The code performs the following actions:

  • 새 컨테이너에 대 한 크기 조정 변환을 지정 하는 두 개의 사각형을 만듭니다.Creates two rectangles to specify a scale transformation for the new container.

  • 새 그래픽 컨테이너를 열고 이전 컨테이너를 저장 합니다.Opens the new graphics container and saves the old container.

  • 빨간색 사각형을 채우는 (의 좌표를 조정 합니다) 새 컨테이너입니다.Fills a red rectangle in the (scaled coordinates of the) new container.

  • 새 컨테이너를 닫고 저장된 된 컨테이너를 복원 합니다.Closes the new container and restores the saved container.

  • 저장된 된 컨테이너의 녹색 사각형 (소수 자릿수가 없는 좌표)을 채웁니다.Fills a green rectangle (to the unscaled coordinates) of the saved container.

결과 더 작은 빨간색 사각형 위에 놓입니다 녹색 사각형입니다.The result is a green rectangle that overlies a smaller red rectangle.

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 중첩 된 graphics 컨테이너를 만드는 방법.Use this method with the EndContainer method to create nested graphics containers. Graphics 컨테이너에는 변환, 클리핑 영역 및 렌더링 속성과 같은 그래픽 상태를 유지 합니다.Graphics containers retain graphics state, such as transformation, clipping region, and rendering properties.

호출 하는 경우는 BeginContainer 메서드를 Graphics, 상태를 포함 하는 정보 블록이 Graphics 스택에 배치 됩니다.When you call the BeginContainer method of a Graphics, an information block that holds the state of the Graphics is put on a stack. 합니다 BeginContainer 메서드가 반환 되는 GraphicsContainer 정보 블록을 식별 하는 합니다.The BeginContainer method returns a GraphicsContainer that identifies that information block. 식별 하는 개체를 전달 하는 경우는 EndContainer 메서드 정보 블록 스택에서 제거 되 고 복원 하는 데 사용 되는 Graphics 당시 시점의 상태로 BeginContainer 메서드 호출 합니다.When you pass the identifying object to the EndContainer method, the information block is removed from the stack and is used to restore the Graphics to the state it was in at the time of the BeginContainer method call.

컨테이너는 중첩 될 수 있습니다. 즉, 호출할 수 있습니다 합니다 BeginContainer 메서드를 호출 하기 전에 여러 번의 EndContainer 메서드.Containers can be nested; that is, you can call the BeginContainer method several times before you call the EndContainer method. 호출할 때마다 합니다 BeginContainer 메서드 정보 블록을 스택에 배치 되 고 수신 하는 GraphicsContainer 정보 블록에 대 한 합니다.Each time you call the BeginContainer method, an information block is put on the stack, and you receive a GraphicsContainer for the information block. 해당 개체를 하나 전달 하는 경우는 EndContainer 메서드를를 Graphics 당시 시점의 상태로 반환 됩니다 합니다 BeginContainer 는 특정 반환 하는 메서드 호출 GraphicsContainer.When you pass one of those objects to the EndContainer method, the Graphics is returned to the state it was in at the time of the BeginContainer method call that returned that particular GraphicsContainer. 정보 블록에서 스택에 배치 BeginContainer 메서드 호출 스택에서 제거 되 고 그 후 해당 스택에 배치 하는 모든 정보 블록 BeginContainer 메서드 호출도 제거 됩니다.The information block placed on the stack by that BeginContainer method call is removed from the stack, and all information blocks placed on that stack after that BeginContainer method call are also removed.

에 대 한 호출을 Save 메서드 호출 스택의 동일 위치 정보 블록을 BeginContainer 메서드.Calls to the Save method place information blocks on the same stack as calls to the BeginContainer method. 처럼를 EndContainer 메서드 호출을 이룹니다를 BeginContainer 메서드 호출을 Restore 메서드 호출을 이룹니다를 Save 메서드 호출 합니다.Just as an EndContainer method call is paired with a BeginContainer method call, a Restore method call is paired with a Save method call.

호출 하는 경우는 EndContainer 메서드를 스택에 배치 된 모든 정보 블록 (여는 Save 메서드 또는 BeginContainer 메서드) 해당 호출 후는 BeginContainer 메서드 스택에서 제거 됩니다.When you call the EndContainer method, all information blocks placed on the stack (by the Save method or by the BeginContainer method) after the corresponding call to the BeginContainer method are removed from the stack. 마찬가지로 호출 하는 경우는 Restore 메서드를 스택에 배치 된 모든 정보 블록 (여는 Save 메서드 또는 BeginContainer 메서드) 해당 호출 후는 Save 메서드 스택에서 제거 됩니다.Likewise, when you call the Restore method, all information blocks placed on the stack (by the Save method or by the BeginContainer method) after the corresponding call to the Save method are removed from the stack.

이 메서드를 사용 하 여 새 그래픽 컨테이너의 크기 조정 변환을 지정 합니다 dstrectsrcrect 매개 변수입니다.This method specifies a scale transformation for the new graphics container with the dstrect and srcrect parameters. 소수 자릿수가 변환 같음를 적용할 때 srcrect, 결과 dstrect합니다.The scale is equal to the transformation that, when applied to srcrect, results in dstrect.

설정 된 그래픽 상태는 BeginContainer 렌더링 품질을 기본 그래픽 상태를 포함 하는 메서드; 메서드를 호출 하는 경우 기존 렌더링 품질 상태 변경 내용은 기본값으로 다시 설정 됩니다.The graphics state established by the BeginContainer method includes the rendering qualities of the default graphics state; any rendering-quality state changes existing when the method is called are reset to the default values.

BeginContainer(RectangleF, RectangleF, GraphicsUnit) BeginContainer(RectangleF, RectangleF, GraphicsUnit) BeginContainer(RectangleF, RectangleF, GraphicsUnit) BeginContainer(RectangleF, RectangleF, GraphicsUnit)

그래픽 컨테이너를 이 Graphics의 현재 상태로 저장하고 지정된 크기 조정 변환으로 새 그래픽 컨테이너를 열어 사용합니다.Saves a graphics container with the current state of this Graphics and opens and uses a new graphics container with the specified scale transformation.

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 RectangleF RectangleF

srcrect 매개 변수로 새 그래픽 컨테이너의 크기 조정 변환을 지정하는 RectangleF 구조체입니다.RectangleF structure that, together with the srcrect parameter, specifies a scale transformation for the new graphics container.

srcrect
RectangleF RectangleF RectangleF RectangleF

dstrect 매개 변수로 새 그래픽 컨테이너의 크기 조정 변환을 지정하는 RectangleF 구조체입니다.RectangleF structure that, together with the dstrect parameter, specifies a scale transformation for the new graphics container.

unit
GraphicsUnit GraphicsUnit GraphicsUnit GraphicsUnit

컨테이너의 측정 단위를 지정하는 GraphicsUnit 열거형의 멤버입니다.Member of the GraphicsUnit enumeration that specifies the unit of measure for the container.

반환

이 메서드는 호출되었을 때 이 Graphics의 상태를 나타내는 GraphicsContainer를 반환합니다.This method returns a GraphicsContainer that represents the state of this Graphics at the time of the method call.

예제

다음 코드 예제는 Windows Forms에서 사용 하도록 설계 되었으며 필요 PaintEventArgs e의 매개 변수는 Paint 이벤트 처리기입니다.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. 이 코드에서는 다음 작업을 수행합니다.The code performs the following actions:

  • 새 컨테이너에 대 한 크기 조정 변환을 지정 하는 두 개의 사각형을 만듭니다.Creates two rectangles to specify a scale transformation for the new container.

  • 새 그래픽 컨테이너를 열고 이전 컨테이너를 저장 합니다.Opens the new graphics container and saves the old container.

  • 빨간색 사각형을 채우는 (의 좌표를 조정 합니다) 새 컨테이너입니다.Fills a red rectangle in the (scaled coordinates of the) new container.

  • 새 컨테이너를 닫고 저장된 된 컨테이너를 복원 합니다.Closes the new container and restores the saved container.

  • 저장된 된 컨테이너의 녹색 사각형 (소수 자릿수가 없는 좌표)을 채웁니다.Fills a green rectangle (to the unscaled coordinates) of the saved container.

결과 더 작은 빨간색 사각형 위에 놓입니다 녹색 사각형입니다.The result is a green rectangle that overlies a smaller red rectangle.

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 중첩 된 graphics 컨테이너를 만드는 방법.Use this method with the EndContainer method to create nested graphics containers. Graphics 컨테이너에는 변환, 클리핑 영역 및 렌더링 속성과 같은 그래픽 상태를 유지 합니다.Graphics containers retain graphics state, such as transformation, clipping region, and rendering properties.

호출 하는 경우는 BeginContainer 메서드를 Graphics, 상태를 포함 하는 정보 블록이 Graphics 스택에 배치 됩니다.When you call the BeginContainer method of a Graphics, an information block that holds the state of the Graphics is put on a stack. 합니다 BeginContainer 메서드가 반환 되는 GraphicsContainer 정보 블록을 식별 하는 합니다.The BeginContainer method returns a GraphicsContainer that identifies that information block. 식별 하는 개체를 전달 하는 경우는 EndContainer 메서드 정보 블록 스택에서 제거 되 고 복원 하는 데 사용 되는 Graphics 당시 시점의 상태로 BeginContainer 메서드 호출 합니다.When you pass the identifying object to the EndContainer method, the information block is removed from the stack and is used to restore the Graphics to the state it was in at the time of the BeginContainer method call.

컨테이너는 중첩 될 수 있습니다. 즉, 호출할 수 있습니다 합니다 BeginContainer 메서드를 호출 하기 전에 여러 번의 EndContainer 메서드.Containers can be nested; that is, you can call the BeginContainer method several times before you call the EndContainer method. 호출할 때마다 합니다 BeginContainer 메서드 정보 블록을 스택에 배치 되 고 수신 하는 GraphicsContainer 정보 블록에 대 한 합니다.Each time you call the BeginContainer method, an information block is put on the stack, and you receive a GraphicsContainer for the information block. 해당 개체를 하나 전달 하는 경우는 EndContainer 메서드를를 Graphics 당시 시점의 상태로 반환 됩니다 합니다 BeginContainer 는 특정 반환 하는 메서드 호출 GraphicsContainer.When you pass one of those objects to the EndContainer method, the Graphics is returned to the state it was in at the time of the BeginContainer method call that returned that particular GraphicsContainer. 정보 블록에서 스택에 배치 BeginContainer 메서드 호출 스택에서 제거 되 고 그 후 해당 스택에 배치 하는 모든 정보 블록 BeginContainer 메서드 호출도 제거 됩니다.The information block placed on the stack by that BeginContainer method call is removed from the stack, and all information blocks placed on that stack after that BeginContainer method call are also removed.

에 대 한 호출을 Save 메서드 호출 스택의 동일 위치 정보 블록을 BeginContainer 메서드.Calls to the Save method place information blocks on the same stack as calls to the BeginContainer method. 처럼를 EndContainer 메서드 호출을 이룹니다를 BeginContainer 메서드 호출을 Restore 메서드 호출을 이룹니다를 Save 메서드 호출 합니다.Just as an EndContainer method call is paired with a BeginContainer method call, a Restore method call is paired with a Save method call.

호출 하는 경우는 EndContainer 메서드를 스택에 배치 된 모든 정보 블록 (여는 Save 메서드 또는 BeginContainer 메서드) 해당 호출 후는 BeginContainer 메서드 스택에서 제거 됩니다.When you call the EndContainer method, all information blocks placed on the stack (by the Save method or by the BeginContainer method) after the corresponding call to the BeginContainer method are removed from the stack. 마찬가지로 호출 하는 경우는 Restore 메서드를 스택에 배치 된 모든 정보 블록 (여는 Save 메서드 또는 BeginContainer 메서드) 해당 호출 후는 Save 메서드 스택에서 제거 됩니다.Likewise, when you call the Restore method, all information blocks placed on the stack (by the Save method or by the BeginContainer method) after the corresponding call to the Save method are removed from the stack.

이 메서드를 사용 하 여 새 그래픽 컨테이너의 크기 조정 변환을 지정 합니다 dstrectsrcrect 매개 변수입니다.This method specifies a scale transformation for the new graphics container with the dstrect and srcrect parameters. 소수 자릿수가 변환 같음를 적용할 때 srcrect, 결과 dstrect합니다.The scale is equal to the transformation that, when applied to srcrect, results in dstrect.

설정 된 그래픽 상태는 BeginContainer 렌더링 품질을 기본 그래픽 상태를 포함 하는 메서드; 메서드를 호출 하는 경우 기존 렌더링 품질 상태 변경 내용은 기본값으로 다시 설정 됩니다.The graphics state established by the BeginContainer method includes the rendering qualities of the default graphics state; any rendering-quality state changes existing when the method is called are reset to the default values.

적용 대상