Graphics.BeginContainer メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
この Graphics の現在の状態のグラフィックス コンテナーを保存し、新しいグラフィックス コンテナーを開いて使用します。
オーバーロード
| 名前 | 説明 |
|---|---|
| BeginContainer() |
この Graphics の現在の状態のグラフィックス コンテナーを保存し、新しいグラフィックス コンテナーを開いて使用します。 |
| BeginContainer(Rectangle, Rectangle, GraphicsUnit) |
この Graphics の現在の状態のグラフィックス コンテナーを保存し、指定したスケール変換で新しいグラフィックス コンテナーを開いて使用します。 |
| BeginContainer(RectangleF, RectangleF, GraphicsUnit) |
この Graphics の現在の状態のグラフィックス コンテナーを保存し、指定したスケール変換で新しいグラフィックス コンテナーを開いて使用します。 |
BeginContainer()
この 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 フォームで使用するように設計されており、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 メソッドでこのメソッドを使用します。 グラフィックス コンテナーは、変換、クリッピング領域、レンダリング プロパティなどのグラフィックス状態を保持します。
GraphicsのBeginContainer メソッドを呼び出すと、Graphicsの状態を保持する情報ブロックがスタックに配置されます。 BeginContainer メソッドは、その情報ブロックを識別するGraphicsContainerを返します。 識別オブジェクトを EndContainer メソッドに渡すと、情報ブロックはスタックから削除され、BeginContainer メソッド呼び出し時の状態にGraphicsを復元するために使用されます。
コンテナーは入れ子にすることができます。つまり、EndContainer メソッドを呼び出す前に、BeginContainer メソッドを複数回呼び出すことができます。 BeginContainer メソッドを呼び出すたびに、情報ブロックがスタックに配置され、情報ブロックのGraphicsContainerを受け取ります。 これらのオブジェクトのいずれかを EndContainer メソッドに渡すと、その特定のGraphicsContainerを返した BeginContainer メソッド呼び出し時の状態にGraphicsが返されます。 その BeginContainer メソッド呼び出しによってスタックに配置された情報ブロックがスタックから削除され、その BeginContainer メソッド呼び出しの後にそのスタックに配置されたすべての情報ブロックも削除されます。
Save メソッドの呼び出しは、BeginContainer メソッドの呼び出しと同じスタックに情報ブロックを配置します。 EndContainer メソッド呼び出しがBeginContainer メソッド呼び出しとペアになっているのと同様に、Restore メソッド呼び出しはSaveメソッド呼び出しとペアになります。
EndContainer メソッドを呼び出すと、BeginContainer メソッドの対応する呼び出しの後に (Save メソッドまたは BeginContainer メソッドによって) スタックに配置されたすべての情報ブロックがスタックから削除されます。 同様に、Restore メソッドを呼び出すと、Save メソッドへの対応する呼び出しの後に (Save メソッドまたは BeginContainer メソッドによって) スタックに配置されたすべての情報ブロックがスタックから削除されます。
BeginContainer メソッドによって確立されたグラフィックス状態には、既定のグラフィックス状態のレンダリング品質が含まれます。メソッドが呼び出されると、レンダリング品質の状態が既存の状態に変更されると、既定値にリセットされます。
適用対象
BeginContainer(Rectangle, Rectangle, GraphicsUnit)
この 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
パラメーター
- unit
- GraphicsUnit
コンテナーの測定単位を指定する GraphicsUnit 列挙体のメンバー。
返品
このメソッドは、メソッド呼び出し時のこのGraphicsの状態を表すGraphicsContainerを返します。
例
次のコード例は、Windows フォームで使用するように設計されており、PaintEventArgse が必要です。これは、Paint イベント ハンドラーのパラメーターです。 コードは次のアクションを実行します。
新しいコンテナーのスケール変換を指定する 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 メソッドでこのメソッドを使用します。 グラフィックス コンテナーは、変換、クリッピング領域、レンダリング プロパティなどのグラフィックス状態を保持します。
GraphicsのBeginContainer メソッドを呼び出すと、Graphicsの状態を保持する情報ブロックがスタックに配置されます。 BeginContainer メソッドは、その情報ブロックを識別するGraphicsContainerを返します。 識別オブジェクトを EndContainer メソッドに渡すと、情報ブロックはスタックから削除され、BeginContainer メソッド呼び出し時の状態にGraphicsを復元するために使用されます。
コンテナーは入れ子にすることができます。つまり、EndContainer メソッドを呼び出す前に、BeginContainer メソッドを複数回呼び出すことができます。 BeginContainer メソッドを呼び出すたびに、情報ブロックがスタックに配置され、情報ブロックのGraphicsContainerを受け取ります。 これらのオブジェクトのいずれかを EndContainer メソッドに渡すと、その特定のGraphicsContainerを返した BeginContainer メソッド呼び出し時の状態にGraphicsが返されます。 その 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 の現在の状態のグラフィックス コンテナーを保存し、指定したスケール変換で新しいグラフィックス コンテナーを開いて使用します。
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 フォームで使用するように設計されており、PaintEventArgse が必要です。これは、Paint イベント ハンドラーのパラメーターです。 コードは次のアクションを実行します。
新しいコンテナーのスケール変換を指定する 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 メソッドでこのメソッドを使用します。 グラフィックス コンテナーは、変換、クリッピング領域、レンダリング プロパティなどのグラフィックス状態を保持します。
GraphicsのBeginContainer メソッドを呼び出すと、Graphicsの状態を保持する情報ブロックがスタックに配置されます。 BeginContainer メソッドは、その情報ブロックを識別するGraphicsContainerを返します。 識別オブジェクトを EndContainer メソッドに渡すと、情報ブロックはスタックから削除され、BeginContainer メソッド呼び出し時の状態にGraphicsを復元するために使用されます。
コンテナーは入れ子にすることができます。つまり、EndContainer メソッドを呼び出す前に、BeginContainer メソッドを複数回呼び出すことができます。 BeginContainer メソッドを呼び出すたびに、情報ブロックがスタックに配置され、情報ブロックのGraphicsContainerを受け取ります。 これらのオブジェクトのいずれかを EndContainer メソッドに渡すと、その特定のGraphicsContainerを返した BeginContainer メソッド呼び出し時の状態にGraphicsが返されます。 その BeginContainer メソッド呼び出しによってスタックに配置された情報ブロックがスタックから削除され、その BeginContainer メソッド呼び出しの後にそのスタックに配置されたすべての情報ブロックも削除されます。
Save メソッドの呼び出しは、BeginContainer メソッドの呼び出しと同じスタックに情報ブロックを配置します。 EndContainer メソッド呼び出しがBeginContainer メソッド呼び出しとペアになっているのと同様に、Restore メソッド呼び出しはSaveメソッド呼び出しとペアになります。
EndContainer メソッドを呼び出すと、BeginContainer メソッドの対応する呼び出しの後に (Save メソッドまたは BeginContainer メソッドによって) スタックに配置されたすべての情報ブロックがスタックから削除されます。 同様に、Restore メソッドを呼び出すと、Save メソッドへの対応する呼び出しの後に (Save メソッドまたは BeginContainer メソッドによって) スタックに配置されたすべての情報ブロックがスタックから削除されます。
このメソッドは、 dstrect パラメーターと srcrect パラメーターを使用して、新しいグラフィックス コンテナーのスケール変換を指定します。 スケールは、 srcrectに適用されると dstrectされる変換と同じです。
BeginContainer メソッドによって確立されたグラフィックス状態には、既定のグラフィックス状態のレンダリング品質が含まれます。メソッドが呼び出されると、レンダリング品質の状態が既存の状態に変更されると、既定値にリセットされます。