Graphics.BeginContainer メソッド

定義

この Graphics の現在の状態でグラフィックス コンテナーを保存し、新しいグラフィックス コンテナーを開いて使用します。

オーバーロード

BeginContainer()

この Graphics の現在の状態でグラフィックス コンテナーを保存し、新しいグラフィックス コンテナーを開いて使用します。

BeginContainer(Rectangle, Rectangle, GraphicsUnit)

この Graphics の現在の状態でグラフィックス コンテナーを保存し、指定したスケール変換を行った新しいグラフィックス コンテナーを開いて使用します。

BeginContainer(RectangleF, RectangleF, GraphicsUnit)

この Graphics の現在の状態でグラフィックス コンテナーを保存し、指定したスケール変換を行った新しいグラフィックス コンテナーを開いて使用します。

BeginContainer()

ソース:
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

戻り値

このメソッドは、メソッドが呼び出された時点での Graphics の状態を表す GraphicsContainer を返します。

次のコード例は、Windows フォームで使用するように設計されており、イベント ハンドラーのPaintパラメーターである が必要PaintEventArgseです。 コードは、次のアクションを実行します。

  • 新しいグラフィックス コンテナーを開き、古いコンテナーを保存します。

  • コンテナー内のワールド座標を変換します。

  • 新しいコンテナーの (翻訳された座標) に赤い四角形を塗りつぶします。

  • 新しいコンテナーを閉じ、保存したコンテナーを復元します。

  • 保存されたコンテナーの緑色の四角形 (翻訳されていない座標) を塗りつぶします。

結果は、同じサイズの赤い四角形の上にある緑色の四角形になります。

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渡すと、情報ブロックはスタックから削除され、 をメソッド呼び出し時のBeginContainer状態に復元Graphicsするために使用されます。

コンテナーは入れ子にすることができます。つまり、 メソッドを呼び出す前に BeginContainer 、 メソッドを EndContainer 複数回呼び出すことができます。 メソッドを BeginContainer 呼び出すたびに、情報ブロックがスタックに配置され、情報ブロックの を受け取ります GraphicsContainer 。 これらのオブジェクトの 1 つを メソッドにEndContainer渡すと、 Graphics は、その特定GraphicsContainerの を返したメソッド呼び出し時の BeginContainer 状態に返されます。 その BeginContainer メソッド呼び出しによってスタックに配置された情報ブロックはスタックから削除され、その BeginContainer メソッド呼び出し後にそのスタックに配置されたすべての情報ブロックも削除されます。

メソッドの呼び出しは、 Save メソッドの呼び出しと同じスタックに情報ブロックを BeginContainer 配置します。 メソッド呼び出しがメソッド呼び出しとペアになっているのとBeginContainer同様EndContainerRestore、メソッド呼び出しはメソッド呼び出しとSaveペアになります。

メソッドをEndContainer呼び出すと、メソッドの対応する呼び出しBeginContainerの後にスタックに配置されたすべての情報ブロック (SaveメソッドまたはメソッドによってBeginContainer) がスタックから削除されます。 同様に、 メソッドをRestore呼び出すと、 メソッドの対応する呼び出しSaveの後にスタックに配置されたすべての情報ブロック (Saveメソッドまたは メソッドによってBeginContainer) がスタックから削除されます。

メソッドによって BeginContainer 確立されたグラフィックス状態には、既定のグラフィックス状態のレンダリング品質が含まれます。メソッドが呼び出されたときに既存のレンダリング品質状態の変更は既定値にリセットされます。

適用対象

BeginContainer(Rectangle, Rectangle, GraphicsUnit)

ソース:
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

srcrect パラメーターと共にコンテナーのスケール変換を指定する Rectangle 構造体。

srcrect
Rectangle

dstrect パラメーターと共にコンテナーのスケール変換を指定する Rectangle 構造体。

unit
GraphicsUnit

コンテナーの長さの単位を指定する GraphicsUnit 列挙体のメンバー。

戻り値

このメソッドは、メソッドが呼び出された時点での Graphics の状態を表す GraphicsContainer を返します。

次のコード例は、Windows フォームで使用するように設計されており、イベント ハンドラーのPaintパラメーターである が必要PaintEventArgseです。 コードは、次のアクションを実行します。

  • 新しいコンテナーのスケール変換を指定する 2 つの四角形を作成します。

  • 新しいグラフィックス コンテナーを開き、古いコンテナーを保存します。

  • 新しいコンテナーの (スケーリングされた座標) に赤い四角形を塗りつぶします。

  • 新しいコンテナーを閉じ、保存したコンテナーを復元します。

  • 保存されたコンテナーの緑色の四角形 (スケーリングされていない座標) を塗りつぶします。

結果として、小さい赤い四角形の上に緑色の四角形が表示されます。

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渡すと、情報ブロックはスタックから削除され、 をメソッド呼び出し時のBeginContainer状態に復元Graphicsするために使用されます。

コンテナーは入れ子にすることができます。つまり、 メソッドを呼び出す前に BeginContainer 、 メソッドを EndContainer 複数回呼び出すことができます。 メソッドを BeginContainer 呼び出すたびに、情報ブロックがスタックに配置され、情報ブロックの を受け取ります GraphicsContainer 。 これらのオブジェクトの 1 つを メソッドにEndContainer渡すと、 Graphics は、その特定GraphicsContainerの を返したメソッド呼び出し時の BeginContainer 状態に返されます。 その BeginContainer メソッド呼び出しによってスタックに配置された情報ブロックはスタックから削除され、その BeginContainer メソッド呼び出し後にそのスタックに配置されたすべての情報ブロックも削除されます。

メソッドの呼び出しは、 Save メソッドの呼び出しと同じスタックに情報ブロックを BeginContainer 配置します。 メソッド呼び出しがメソッド呼び出しとペアになっているのとBeginContainer同様EndContainerRestore、メソッド呼び出しはメソッド呼び出しとSaveペアになります。

メソッドをEndContainer呼び出すと、メソッドの対応する呼び出しBeginContainerの後にスタックに配置されたすべての情報ブロック (SaveメソッドまたはメソッドによってBeginContainer) がスタックから削除されます。 同様に、 メソッドをRestore呼び出すと、 メソッドの対応する呼び出しSaveの後にスタックに配置されたすべての情報ブロック (Saveメソッドまたは メソッドによってBeginContainer) がスタックから削除されます。

このメソッドは、 パラメーターと srcrect パラメーターを使用して、新しいグラフィックス コンテナーのスケール変換をdstrect指定します。 スケールは、 に適用されると が発生する srcrect変換と dstrect等しくなります。

メソッドによって BeginContainer 確立されたグラフィックス状態には、既定のグラフィックス状態のレンダリング品質が含まれます。メソッドが呼び出されたときに既存のレンダリング品質状態の変更は既定値にリセットされます。

適用対象

BeginContainer(RectangleF, RectangleF, GraphicsUnit)

ソース:
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

srcrect パラメーターと共に新しいグラフィックス コンテナーのスケール変換を指定する RectangleF 構造体。

srcrect
RectangleF

dstrect パラメーターと共に新しいグラフィックス コンテナーのスケール変換を指定する RectangleF 構造体。

unit
GraphicsUnit

コンテナーの長さの単位を指定する GraphicsUnit 列挙体のメンバー。

戻り値

このメソッドは、メソッドが呼び出された時点での Graphics の状態を表す GraphicsContainer を返します。

次のコード例は、Windows フォームで使用するように設計されており、イベント ハンドラーのPaintパラメーターである が必要PaintEventArgseです。 コードは、次のアクションを実行します。

  • 新しいコンテナーのスケール変換を指定する 2 つの四角形を作成します。

  • 新しいグラフィックス コンテナーを開き、古いコンテナーを保存します。

  • 新しいコンテナーの (スケーリングされた座標) に赤い四角形を塗りつぶします。

  • 新しいコンテナーを閉じ、保存したコンテナーを復元します。

  • 保存されたコンテナーの緑色の四角形 (スケーリングされていない座標) を塗りつぶします。

結果として、小さい赤い四角形の上に緑色の四角形が表示されます。

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渡すと、情報ブロックはスタックから削除され、 をメソッド呼び出し時のBeginContainer状態に復元Graphicsするために使用されます。

コンテナーは入れ子にすることができます。つまり、 メソッドを呼び出す前に BeginContainer 、 メソッドを EndContainer 複数回呼び出すことができます。 メソッドを BeginContainer 呼び出すたびに、情報ブロックがスタックに配置され、情報ブロックの を受け取ります GraphicsContainer 。 これらのオブジェクトの 1 つを メソッドにEndContainer渡すと、 Graphics は、その特定GraphicsContainerの を返したメソッド呼び出し時の BeginContainer 状態に返されます。 その BeginContainer メソッド呼び出しによってスタックに配置された情報ブロックはスタックから削除され、その BeginContainer メソッド呼び出し後にそのスタックに配置されたすべての情報ブロックも削除されます。

メソッドの呼び出しは、 Save メソッドの呼び出しと同じスタックに情報ブロックを BeginContainer 配置します。 メソッド呼び出しがメソッド呼び出しとペアになっているのとBeginContainer同様EndContainerRestore、メソッド呼び出しはメソッド呼び出しとSaveペアになります。

メソッドをEndContainer呼び出すと、メソッドの対応する呼び出しBeginContainerの後にスタックに配置されたすべての情報ブロック (SaveメソッドまたはメソッドによってBeginContainer) がスタックから削除されます。 同様に、 メソッドをRestore呼び出すと、 メソッドの対応する呼び出しSaveの後にスタックに配置されたすべての情報ブロック (Saveメソッドまたは メソッドによってBeginContainer) がスタックから削除されます。

このメソッドは、 パラメーターと srcrect パラメーターを使用して、新しいグラフィックス コンテナーのスケール変換をdstrect指定します。 スケールは、 に適用されると が発生する srcrect変換と dstrect等しくなります。

メソッドによって BeginContainer 確立されたグラフィックス状態には、既定のグラフィックス状態のレンダリング品質が含まれます。メソッドが呼び出されたときに既存のレンダリング品質状態の変更は既定値にリセットされます。

適用対象