次の方法で共有


Graphics.BeginContainer メソッド

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

オーバーロードの一覧

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

[Visual Basic] Overloads Public Function BeginContainer() As GraphicsContainer

[C#] public GraphicsContainer BeginContainer();

[C++] public: GraphicsContainer* BeginContainer();

[JScript] public function BeginContainer() : GraphicsContainer;

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

[Visual Basic] Overloads Public Function BeginContainer(Rectangle, Rectangle, GraphicsUnit) As GraphicsContainer

[C#] public GraphicsContainer BeginContainer(Rectangle, Rectangle, GraphicsUnit);

[C++] public: GraphicsContainer* BeginContainer(Rectangle, Rectangle, GraphicsUnit);

[JScript] public function BeginContainer(Rectangle, Rectangle, GraphicsUnit) : GraphicsContainer;

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

[Visual Basic] Overloads Public Function BeginContainer(RectangleF, RectangleF, GraphicsUnit) As GraphicsContainer

[C#] public GraphicsContainer BeginContainer(RectangleF, RectangleF, GraphicsUnit);

[C++] public: GraphicsContainer* BeginContainer(RectangleF, RectangleF, GraphicsUnit);

[JScript] public function BeginContainer(RectangleF, RectangleF, GraphicsUnit) : GraphicsContainer;

使用例

[Visual Basic, C#] 次の例は、Windows フォームでの使用を意図してデザインされており、 Paint イベント ハンドラのパラメータである PaintEventArgs e が必要です。このコードは次のアクションを実行します。

  • 新しいコンテナのスケール変換を指定するための四角形を 2 つ作成します。
  • 新しいグラフィックス コンテナを開き、古いコンテナを保存します。
  • 新しいコンテナの (スケーリングされた座標の) 赤い四角形を塗りつぶします。
  • 新しいコンテナを閉じ、保存されているコンテナを復元します。
  • 保存されているコンテナの (スケーリングされていない座標の) 緑の四角形を塗りつぶします。

[Visual Basic, C#] 緑の四角形がそれよりも小さい赤い四角形の上に重ねられます。

[Visual Basic, C#] メモ   ここでは、BeginContainer のオーバーロード形式のうちの 1 つだけについて、使用例を示します。その他の例については、各オーバーロード形式のトピックを参照してください。

 
Public Sub BeginContainerRectangleF(e As PaintEventArgs)
' Define transformation for container.
Dim srcRect As New RectangleF(0F, 0F, 200F, 200F)
Dim destRect As New RectangleF(100F, 100F, 150F, 150F)
' 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), 0F, 0F, _
200F, 200F)
' End graphics container.
e.Graphics.EndContainer(containerState)
' Fill untransformed rectangle with green.
e.Graphics.FillRectangle(New SolidBrush(Color.Green), 0F, 0F, _
200F, 200F)
End Sub
        
[C#] 
public 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);
}
        

[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

参照

Graphics クラス | Graphics メンバ | System.Drawing 名前空間