共用方式為


D3DImage.AddDirtyRect(Int32Rect) 方法

定義

指定所變更之背景緩衝區的區域。

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)

參數

dirtyRect
Int32Rect

表示已變更區域的 Int32Rect

屬性

例外狀況

尚未呼叫 Lock()TryLock(Duration) 方法鎖定點陣圖。

-或- 尚未呼叫 SetBackBuffer(D3DResourceType, IntPtr) 方法指派背景緩衝區。

下列一或多個條件為 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呼叫 方法之前,請先呼叫 AddDirtyRectLock 方法。

Unlock呼叫 方法,將變更的區域複製到前端緩衝區。

注意

在對 方法進行一些呼叫 AddDirtyRect 之後,變更的區域會合並成單一區域。 這表示您必須在變更的區域之外擁有有效的資料。

適用於

另請參閱