Graphics.Save メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
この Graphics の現在の状態を保存し、保存した状態を GraphicsState で識別します。
public:
System::Drawing::Drawing2D::GraphicsState ^ Save();
public System.Drawing.Drawing2D.GraphicsState Save ();
member this.Save : unit -> System.Drawing.Drawing2D.GraphicsState
Public Function Save () As GraphicsState
戻り値
このメソッドは、この Graphics の保存状態を表す GraphicsState を返します。
例
次のコード例は、Windows フォームで使用するように設計されており、イベント ハンドラーのPaintパラメーターである が必要PaintEventArgse
です。 コードは、次のアクションを実行します。
Windows フォームのワールド変換をベクター (100、0) で変換します。
フォームのグラフィックス状態を保存します。
フォームのワールド変換を ID (2 x 2 の ID 行列に 0 ベクトル変換を加えたもの) にリセットし、単色の赤いブラシで四角形を塗りつぶします。
変換されたグラフィックスの状態を復元し、単色の青いブラシで四角形を塗りつぶします。
結果は、左側に赤で塗りつぶされた未翻訳の四角形と、フォームの右側に青で塗りつぶされた四角形が翻訳されます。
public:
void SaveRestore3( 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 SaveRestore3(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 SaveRestore3(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 配置します。 呼び出しが呼び出しとペアになっているのとSave同様Restoreに、EndContainerメソッド呼び出しはメソッド呼び出しとBeginContainerペアになります。
メソッドを呼び出すと、メソッドのRestore対応する呼び出しSaveの後にスタックに配置されたすべての情報ブロック (Saveメソッドまたは メソッドによってBeginContainer) がスタックから削除されます。 同様に、 メソッドをEndContainer呼び出すと、メソッドの対応する呼び出しの後に (メソッドまたは メソッドによってSaveBeginContainer) スタックにBeginContainer配置されたすべての情報ブロックがスタックから削除されます。
適用対象
.NET
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示