Graphics.Restore メソッドとは? わかりやすく解説

Graphics.Restore メソッド

この Graphics の状態を GraphicsState によって表される状態に復元します。

名前空間: System.Drawing
アセンブリ: System.Drawing (system.drawing.dll 内)
構文構文

Public Sub Restore ( _
    gstate As GraphicsState _
)
Dim instance As Graphics
Dim gstate As GraphicsState

instance.Restore(gstate)
public void Restore (
    GraphicsState gstate
)
public:
void Restore (
    GraphicsState^ gstate
)
public void Restore (
    GraphicsState gstate
)
public function Restore (
    gstate : GraphicsState
)

パラメータ

gstate

この Graphics復元したときの状態を表す GraphicsState。

解説解説

GraphicsSave メソッド呼び出すと、Graphics の状態を保持している情報ブロックスタック格納されます。Save メソッドは、その情報ブロック識別する GraphicsState返します識別対象GraphicsStateRestore メソッドに渡すと、その情報ブロックスタックから削除されGraphicsSave メソッド呼び出し時の状態に復元するために使用されます。Save メソッド呼び出して返されGraphicsStateRestore メソッドに渡すことができるのは、1 回だけです。

Save メソッド呼び出し入れ子できます。つまり Restore メソッド呼び出す前に Save メソッド複数呼び出すことができますSave メソッド呼び出すたびに、情報ブロックスタック格納され、その情報ブロックGraphicsState受け取ります。これらのオブジェクト1 つRestore メソッドに渡すと、Graphics は、その GraphicsState返した Save メソッド呼び出し時の状態に戻ります。その Save メソッド呼び出しによってスタック置かれ情報ブロックスタックから削除されます。さらに、Save メソッド呼び出し後にスタック置かれすべての情報ブロック削除されます。

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

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

使用例使用例

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

赤で塗りつぶされ平行移動ていない四角形と、青で塗りつぶされ平行移動済み四角形生成されます。

Public 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
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(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);
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からGraphics.Restore メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からGraphics.Restore メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からGraphics.Restore メソッド を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Graphics.Restore メソッド」の関連用語

Graphics.Restore メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Graphics.Restore メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS