Graphics.Restore(GraphicsState) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
この Graphics の状態を GraphicsState によって表される状態に復元します。
public:
void Restore(System::Drawing::Drawing2D::GraphicsState ^ gstate);
public void Restore (System.Drawing.Drawing2D.GraphicsState gstate);
member this.Restore : System.Drawing.Drawing2D.GraphicsState -> unit
Public Sub Restore (gstate As GraphicsState)
パラメーター
- gstate
- GraphicsState
この Graphics を復元したときの状態を表す GraphicsState。
例
次のコード例は、Windows フォームで使用するように設計されており、イベント ハンドラーのPaintパラメーターである が必要PaintEventArgse
です。 コードは、次のアクションを実行します。
Windows フォームのワールド変換をベクター (100、0) で変換します。
フォームのグラフィックス状態を保存します。
フォームのワールド変換を ID にリセットし、単色の赤いブラシで四角形を塗りつぶします。
翻訳されたグラフィックスの状態を復元し、2 番目の四角形に青い純色のブラシを塗りつぶします。
結果は、未翻訳の赤塗りの四角形と、変換された青塗りの四角形になります。
public:
void SaveRestore2( PaintEventArgs^ e )
{
// Translate transformation matrix.
e->Graphics->TranslateTransform( 100, 0 );
// Save translated graphics state.
GraphicsState^ transState = e->Graphics->Save();
// Reset transformation matrix to identity and fill rectangle.
e->Graphics->ResetTransform();
e->Graphics->FillRectangle( gcnew SolidBrush( Color::Red ), 0, 0, 100, 100 );
// Restore graphics state to translated state and fill second
// rectangle.
e->Graphics->Restore( transState );
e->Graphics->FillRectangle( gcnew SolidBrush( Color::Blue ), 0, 0, 100, 100 );
}
private void SaveRestore2(PaintEventArgs e)
{
// Translate transformation matrix.
e.Graphics.TranslateTransform(100, 0);
// Save translated graphics state.
GraphicsState transState = e.Graphics.Save();
// Reset transformation matrix to identity and fill rectangle.
e.Graphics.ResetTransform();
e.Graphics.FillRectangle(new SolidBrush(Color.Red), 0, 0, 100, 100);
// Restore graphics state to translated state and fill second
// rectangle.
e.Graphics.Restore(transState);
e.Graphics.FillRectangle(new SolidBrush(Color.Blue), 0, 0, 100, 100);
}
Private Sub SaveRestore2(ByVal e As PaintEventArgs)
' Translate transformation matrix.
e.Graphics.TranslateTransform(100, 0)
' Save translated graphics state.
Dim transState As GraphicsState = e.Graphics.Save()
' Reset transformation matrix to identity and fill rectangle.
e.Graphics.ResetTransform()
e.Graphics.FillRectangle(New SolidBrush(Color.Red), 0, 0, 100, 100)
' Restore graphics state to translated state and fill second
' rectangle.
e.Graphics.Restore(transState)
e.Graphics.FillRectangle(New SolidBrush(Color.Blue), 0, 0, _
100, 100)
End Sub
注釈
の メソッドを Save 呼び出すと、 の Graphics状態 Graphics を保持する情報ブロックがスタックに配置されます。 メソッドは Save 、その情報ブロックを識別する を GraphicsState 返します。 識別を GraphicsState メソッドにRestore渡すと、情報ブロックはスタックから削除され、 をメソッド呼び出し時Saveの状態に復元Graphicsするために使用されます。 メソッドの特定の GraphicsState 呼び出しによって返される は、 Save メソッドに Restore
1 回だけ渡すことに注意してください。
メソッドの Save 呼び出しは入れ子にすることができます。つまり、 メソッドを Save 呼び出す前にメソッドを Restore 複数回呼び出すことができます。 メソッドを Save 呼び出すたびに、情報ブロックがスタックに配置され、情報ブロックの を受け取ります GraphicsState 。 これらのオブジェクトの 1 つを メソッドにRestore渡すと、 Graphics は、その特定GraphicsStateの を返したメソッド呼び出し時の Save 状態に返されます。 その Save メソッド呼び出しによってスタックに配置された情報ブロックはスタックから削除され、その Save メソッド呼び出し後にそのスタックに配置されたすべての情報ブロックも削除されます。
メソッドの呼び出しは、 BeginContainer メソッドの呼び出しと同じスタックに情報ブロックを Save 配置します。 呼び出しが Restore 呼び出しとペアになっているのと Save 同様に EndContainer 、メソッド呼び出しはメソッド呼び出しと BeginContainer ペアになります。
メソッドをRestore呼び出すと、メソッドの対応する呼び出しSaveの後にスタックに配置されたすべての情報ブロック (SaveメソッドまたはメソッドによってBeginContainer) がスタックから削除されます。 同様に、 メソッドをEndContainer呼び出すと、 メソッドの対応する呼び出しBeginContainerの後にスタックに配置されたすべての情報ブロック (Saveメソッドまたは メソッドによってBeginContainer) がスタックから削除されます。
適用対象
.NET
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示