BufferedGraphicsContext クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ダブル バッファリングに使用できるグラフィックス バッファーを作成するためのメソッドを提供します。
public ref class BufferedGraphicsContext sealed : IDisposable
public sealed class BufferedGraphicsContext : IDisposable
type BufferedGraphicsContext = class
interface IDisposable
Public NotInheritable Class BufferedGraphicsContext
Implements IDisposable
- 継承
-
BufferedGraphicsContext
- 実装
例
次のコード例は、現在のアプリケーション ドメインの BufferedGraphicsContext を取得する方法を示しています。 このコードは、 BufferedGraphics クラスに提供されるより大きな例の一部です。
// Retrieves the BufferedGraphicsContext for the
// current application domain.
BufferedGraphicsContext^ appDomainGraphicsContext =
BufferedGraphicsManager::Current;
// Retrieves the BufferedGraphicsContext for the
// current application domain.
BufferedGraphicsContext appDomainGraphicsContext =
BufferedGraphicsManager.Current;
' Retrieves the BufferedGraphicsContext for the
' current application domain.
Dim appDomainGraphicsContext As BufferedGraphicsContext = BufferedGraphicsManager.Current
注釈
BufferedGraphicsContext クラスを使用すると、グラフィックスのカスタム ダブル バッファリングを実装できます。 二重バッファリングを使用するグラフィックスでは、表示サーフェイスの再描画によって引き起こされるちらつきを減らしたり排除したりすることができます。
注
.NET 6 以降のバージョンでは、この種類を含む System.Drawing.Common パッケージは、Windows オペレーティング システムでのみサポートされています。 クロスプラットフォーム アプリでこの種類を使用すると、コンパイル時の警告と実行時の例外が発生します。 詳細については、「System.Drawing.Common が Windows でしかサポートされない」を参照してください。
注
二重バッファリングを使用する最も簡単な方法は、SetStyle メソッドを使用してコントロールにOptimizedDoubleBuffer コントロール スタイル フラグを設定することです。 コントロールの OptimizedDoubleBuffer コントロール スタイル フラグを設定すると、コントロールのすべての描画が既定のグラフィックス バッファーにリダイレクトされ、追加のコードは必要ありません。 このフラグは既定で true に設定されています。
BufferedGraphicsContext クラスには、グラフィックス バッファーを作成および構成するためのメソッドが用意されています。 Allocate メソッドは、BufferedGraphicsを作成します。これは、バッファーに書き込み、その内容を出力デバイスにレンダリングするために使用できるメソッドも提供するグラフィックス バッファーのラッパーです。
現在のアプリケーション ドメインの BufferedGraphicsContext は、静的 BufferedGraphicsManager.Current プロパティから取得できます。 アニメーションなどのグラフィカルに集中的なアプリケーションでは、コンストラクターを使用して専用の BufferedGraphicsContext を作成できますが、ほとんどのアプリケーションでは、 BufferedGraphicsManager.Current プロパティで十分です。
バッファーされたグラフィックスの描画とカスタム バッファリングの実装の詳細については、「 ダブル バッファリング グラフィックス 」および「 方法: バッファーされたグラフィックスを手動で管理する」を参照してください。
コンストラクター
| 名前 | 説明 |
|---|---|
| BufferedGraphicsContext() |
BufferedGraphicsContext クラスの新しいインスタンスを初期化します。 |
プロパティ
| 名前 | 説明 |
|---|---|
| MaximumBuffer |
使用するバッファーの最大サイズを取得または設定します。 |
メソッド
| 名前 | 説明 |
|---|---|
| Allocate(Graphics, Rectangle) |
指定した Graphicsのピクセル形式を使用して、指定したサイズのグラフィックス バッファーを作成します。 |
| Allocate(IntPtr, Rectangle) |
指定した Graphicsのピクセル形式を使用して、指定したサイズのグラフィックス バッファーを作成します。 |
| Dispose() |
BufferedGraphicsContextによって使用されるすべてのリソースを解放します。 |
| Equals(Object) |
指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
| Finalize() |
オブジェクトがガベージ コレクションによって解放される前に、リソースを解放し、その他のクリーンアップ操作を実行できるようにします。 |
| GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
| GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
| Invalidate() |
バッファーが割り当てられ、まだ破棄されていない場合は、現在のグラフィックス バッファーを破棄します。 |
| MemberwiseClone() |
現在の Objectの簡易コピーを作成します。 (継承元 Object) |
| ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |