次の方法で共有


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 の現在の状態のグラフィックス コンテナーを保存し、新しいグラフィックス コンテナーを開いて使用します。

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 メソッドでこのメソッドを使用します。 グラフィックス コンテナーは、変換、クリッピング領域、レンダリング プロパティなどのグラフィックス状態を保持します。

GraphicsBeginContainer メソッドを呼び出すと、Graphics の状態を保持する情報ブロックがスタックに配置されます。 BeginContainer メソッドは、その情報ブロックを識別する GraphicsContainer を返します。 識別オブジェクトを EndContainer メソッドに渡すと、情報ブロックはスタックから削除され、BeginContainer メソッド呼び出し時の状態に Graphics を復元するために使用されます。

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

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

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

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

適用対象

BeginContainer(Rectangle, Rectangle, GraphicsUnit)

ソース:
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 列挙体のメンバー。

戻り値

このメソッドは、メソッド呼び出し時のこの 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 メソッドでこのメソッドを使用します。 グラフィックス コンテナーは、変換、クリッピング領域、レンダリング プロパティなどのグラフィックス状態を保持します。

GraphicsBeginContainer メソッドを呼び出すと、Graphics の状態を保持する情報ブロックがスタックに配置されます。 BeginContainer メソッドは、その情報ブロックを識別する GraphicsContainer を返します。 識別オブジェクトを EndContainer メソッドに渡すと、情報ブロックはスタックから削除され、BeginContainer メソッド呼び出し時の状態に Graphics を復元するために使用されます。

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

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

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

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

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

適用対象

BeginContainer(RectangleF, RectangleF, GraphicsUnit)

ソース:
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 列挙体のメンバー。

戻り値

このメソッドは、メソッド呼び出し時のこの 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 メソッドでこのメソッドを使用します。 グラフィックス コンテナーは、変換、クリッピング領域、レンダリング プロパティなどのグラフィックス状態を保持します。

GraphicsBeginContainer メソッドを呼び出すと、Graphics の状態を保持する情報ブロックがスタックに配置されます。 BeginContainer メソッドは、その情報ブロックを識別する GraphicsContainer を返します。 識別オブジェクトを EndContainer メソッドに渡すと、情報ブロックはスタックから削除され、BeginContainer メソッド呼び出し時の状態に Graphics を復元するために使用されます。

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

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

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

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

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

適用対象