D3DImage.AddDirtyRect(Int32Rect) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
変更されるバック バッファーの領域を指定します。
public:
void AddDirtyRect(System::Windows::Int32Rect dirtyRect);
[System.Security.SecurityCritical]
public void AddDirtyRect (System.Windows.Int32Rect dirtyRect);
public void AddDirtyRect (System.Windows.Int32Rect dirtyRect);
[<System.Security.SecurityCritical>]
member this.AddDirtyRect : System.Windows.Int32Rect -> unit
member this.AddDirtyRect : System.Windows.Int32Rect -> unit
Public Sub AddDirtyRect (dirtyRect As Int32Rect)
パラメーター
- 属性
例外
Lock() メソッドまたは TryLock(Duration) メソッドへの呼び出しによりロックされなかったビットマップ。
- または -
SetBackBuffer(D3DResourceType, IntPtr) メソッドへの呼び出しにより割り当てられていないバック バッファー。
次の条件の 1 つ以上が true であること。
dirtyRect.X
< 0
dirtyRect.Y
< 0
dirtyRect.Width
< 0 または dirtyRect.Width
>PixelWidthdirtyRect.Height
< 0 または dirtyRect.Height
>PixelHeight
例
次のコード例は、 メソッドを呼び出 AddDirtyRect して、バック バッファー内の変更された領域を指定する方法を示しています。 詳細については、「チュートリアル:WPF での Direct3D9 コンテンツのホスト」を参照してください。
d3dimg.Lock();
// Repeatedly calling SetBackBuffer with the same IntPtr is
// a no-op. There is no performance penalty.
d3dimg.SetBackBuffer(D3DResourceType.IDirect3DSurface9, pSurface);
HRESULT.Check(Render());
d3dimg.AddDirtyRect(new Int32Rect(0, 0, d3dimg.PixelWidth, d3dimg.PixelHeight));
d3dimg.Unlock();
注釈
メソッドを AddDirtyRect 呼び出して、コードがバック バッファーに加えた変更を示します。 レンダリングするには、バック バッファーの変更された領域に、 の対応する変更された領域 D3DImageが必要です。
メソッドを SetBackBuffer 呼び出す前に、 メソッドと Lock メソッドを AddDirtyRect 呼び出します。
メソッドを Unlock 呼び出して、変更された領域をフロント バッファーにコピーします。
Note
メソッドを数回呼び出 AddDirtyRect した後、変更された領域は 1 つの領域にマージされます。 つまり、変更された領域の外部に有効なデータが必要です。
適用対象
こちらもご覧ください
.NET